Geom条形图和stat_count()

时间:2016-02-02 12:46:42

标签: r

我想使用geom_bar作为我的数据:

library(ggplot2)
p = ggplot(df, aes(x = word, y = freq)) + geom_bar(fill = "blue")
p + coord_flip() + labs(title = "Word frequency")

在这样的数据中:

'data.frame':   953 obs. of  2 variables:
 $ word: Factor w/ 953 levels "music","play","movies playing",..: 75 70 81 405 291 455 192 470 22 269 ...
 $ freq: int  702 700 683 597 477 443 414 ...

但是我收到了剧情的错误:

Error: stat_count() must not be used with a y aesthetic.

我发现可以使用不使用stat_count()的qplot但有没有办法使用ggplot2?

1 个答案:

答案 0 :(得分:1)

尝试stat = "identity"

library(ggplot2)
p = ggplot(df, aes(x = word, y = freq)) + geom_bar(stat = "identity", fill = "blue")
p + coord_flip() + labs(title = "Word frequency")

默认情况下,geom_bar()计算数据集的频率。

如果您想订购它,请先使用该代码对因子字的级别进行排序:

df$word <- factor(df$word, levels = df$word[order(df$freq)])

在您的情况下,由于您有953个单词的数据集,我可以建议一个词云吗?条形图可能不是最合适的,因为您的标签将堆叠且不可读。