我想使用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?
答案 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个单词的数据集,我可以建议一个词云吗?条形图可能不是最合适的,因为您的标签将堆叠且不可读。