2016-10-20 3 views
1

У меня есть следующие данные:Подсчитайте число появлений значений в ggplot

df = data.frame(c("2012","2012","2012","2013"), 
       c("tuesday","tuesday","friday","thursday"), 
       c("AAA","BBB","AAA","AAA")) 
colnames(df) = c("year","day","type") 

Я хочу, чтобы показать количество появлений (абсолютная частоту) type значений (AAA, BBB) в год и день. В настоящее время я написал следующий код, но для этого требуется добавить еще одно измерение к aes, например. aes(type, some_dimension, fill = as.factor(year)). Итак, как я могу добавить что-то вроде count(type)?

ggplot(dat) + 
    geom_bar(aes(type, fill = as.factor(year)), 
      position = "dodge", stat = "identity") + 
    facet_wrap(~day) 

ответ

2

В geom_barstat изменения от "identity" до "count", как здесь:

library("ggplot2") 

ggplot(df) + 
    geom_bar(aes(x = type, fill = as.factor(year)), 
      position = "dodge", stat = "count") + 
    facet_wrap(~day) 
+0

Спасибо. Я получаю ошибку 'Ошибка: stat_count() не должен использоваться с y эстетическим.' На моих реальных данных. Что это значит и как его решать? – FiofanS

+0

Вы, вероятно, добавили 'y' в' aes' часть (может быть, не совсем, а как второй аргумент). Не могли бы вы показать свои данные и код? Тогда было бы легче. – Marta

+0

Это работает. Была моя ошибка. Благодаря! – FiofanS