首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用R的条形图

使用R的条形图
EN

Stack Overflow用户
提问于 2020-05-14 23:46:01
回答 3查看 111关注 0票数 1

给定一个有两列的csv文件,我想绘制条形图,以显示使用iPhone,mac,ipad和android发布的推文数量,按降序使用R。设备名称嵌入文本问题删除文本和绘制条形图。

代码语言:javascript
运行
复制
data <- structure(list(Device = structure(c(1L, 1L, 2L, 
        3L, 4L, 5L), .Label = c("Twitter for iphone", "Twitter for android", "Twitter for mac", "Twitter for android", "Twitter for ipad", 
                      "Twitter for android"), class = "factor"),Text = structure(c(5L, 
        3L, 6L, 4L, 2L, 1L), .Label = c("Matches is abandoned", "Policy changes in finance", 
        "Launches of new satellites", "Premium policy get activate by company abc", 
        "Technology makes trend",
        "Weather forecasting by xyz"), class = "factor")), class = "data.frame", row.names = c(NA, 
        -6L))

在使用给定的数据集绘制条形图时,使用R会出现错误。

EN

回答 3

Stack Overflow用户

发布于 2020-05-15 00:20:42

如果想要绘制来自每个设备的tweet计数,可以使用{ggcharts}包中的bar_chart()

代码语言:javascript
运行
复制
data$Device <- as.character(data$Device)
ggcharts::bar_chart(data, Device)

结果图是一个ggplot,因此您可以使用任何{ggplot2}函数对其进行进一步自定义。

票数 3
EN

Stack Overflow用户

发布于 2020-05-14 23:56:50

您的数据框包含两个具有原始信息的因子。条形图要求每个类别都有一个数字才能绘制。所以,你可以这样做。

代码语言:javascript
运行
复制
barplot(table(data$Device))
barplot(table(data$Text))

table计算因子水平的出现次数,并将其输入条形图。

票数 1
EN

Stack Overflow用户

发布于 2020-05-15 00:05:09

(ggplot方法)你可以使用下面的代码:

代码语言:javascript
运行
复制
library(ggplot2)
data$only_Device<-gsub(".*for ","", data$Device)
a<-table(data$only_Device) %>% as.data.frame() %>% arrange(desc(Freq))
a$Var1<-as.factor(a$Var1)
ggplot(a, aes(x = reorder(Var1, -Freq), y = Freq)) +geom_bar(stat = "identity")

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61801629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档