Групповые наблюдения по оси geom_histogram - PullRequest
0 голосов
/ 24 июня 2018

Простой вектор:

freq = c(1,2,2,3,3,3,4,4,4,4,5,5,5,5)

И простая гистограмма:

ggplot(data=as.data.frame(freq), aes(x=freq)) + geom_histogram()

Как мне подсчитать все наблюдения со значением, например,> = 4, и отобразить в виде одного столбца?Спасибо.

Ответы [ 2 ]

0 голосов
/ 24 июня 2018

Согласно моему комментарию.Только что проверил, это работает, но вы должны указать параметр 'stat' в geom_histogram:

require(ggplot2)
freq = c(1,2,2,3,3,3,4,4,4,4,5,5,5,5)
ggplot(data=as.data.frame(freq), aes(x = freq >=4)) + geom_histogram(stat = 'count')

Если вы хотите сгруппировать по значению, вы можете создать 'сокращения', как показано здесь

Вы также можете создавать разрезы непосредственно в ggplot:

ggplot(data=as.data.frame(freq), aes(x = cut(freq, c(1,2,3), include.lowest = TRUE))) + 
#you need to make sure that the cuts actually represent the intervals you want!! 
  geom_histogram(stat = 'count')

enter image description here

0 голосов
/ 24 июня 2018

Возможный способ - заменить все значения> = 4 на 4, а затем построить график

freq[freq >=4] = 4
...