ggplot: построение подсчетов частоты значений в кадре данных (без предварительной обработки)

r ggplot2

660 просмотра

1 ответ

Я часто ловлю себя на этом:

# Original data
df.test <- data.frame(value=floor(rexp(10000, 1/2)))

# Compute the frequency of every value
# or the probability
freqs <- tabulate(df.test$value)
probs <- freqs / sum(freqs)

# Create a new dataframe with the frequencies (or probabilities)
df.freqs <- data.frame(n=1:length(freqs), freq=freqs, probs=probs) 

# Plot them, usually in log-log
g <- ggplot(df.freqs, aes(x=n, y = freq)) + geom_point() + 
  scale_y_log10() + scale_x_log10()
plot(g)

введите описание изображения здесь

Можно ли это сделать, просто используя ggplotбез создания промежуточного набора данных?

Автор: alberto Источник Размещён: 08.11.2019 11:17

Ответы (1)


4 плюса

Решение

Для подсчета частоты вы можете указать statпараметр в geom_pointвиде count:

ggplot(df.test, aes(x = value)) + geom_point(stat = "count") + 
    scale_x_log10() + scale_y_log10()

введите описание изображения здесь

Автор: Psidom Размещён: 20.08.2016 12:20
Вопросы из категории :
32x32