如何解决如何将频率表转换为数据框以制作条形图?
我认为标题并没有真正帮助,但是......我们走吧。
我有关于候选人推文的数据。它是一个数据框,其中一列名为“推文”(每一行我都有不同的推文)。我使用以下函数制作频率表:
frequencytable <- candidate$Tweets %>%
na.omit() %>%
tolower() %>%
strsplit(split = "[ .,!]") %>% # or strsplit(split = "\\W")
unlist() %>%
gsub('[.?:!,"\n"]','',.) %>%
table() %>%
sort(decreasing = TRUE)
在那之后,我得到了这样的结果(一个大表,没有列名,其中行是不同的单词,对应的频率如下):
你好567再见321好22钱61红98
(想象数字在单词下方)等等(我想我有大约 500 次出现)........
现在我想在一个简单的条形图图表中显示这些结果,但我很挣扎。
我试过类似的东西:
ggplot(data = candidate$Tweets) +
geom_bar(mapping = aes(x = frequencytable))
它不起作用... 我做了一些研究,发现了一些提示,例如:将其转换为数据框,然后继续使用 ggplot,但我真的被卡住了。
解决方法
以下是从频率表开始的三个解决方案。
组成一个数据集。
set.seed(2020)
frequencytable <- table(sample(letters[1:4],100,TRUE))
基础 R。
barplot(frequencytable)
现在,ggplot2
解决方案。先加载包。
library(ggplot2)
df1 <- as.data.frame(frequencytable)
ggplot(df1,aes(Var1,Freq)) + geom_col()
df2 <- stack(frequencytable)
ggplot(df2,aes(ind,values)) + geom_col()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。