首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从excel文件创建条形图到R?

如何从excel文件创建条形图到R?
EN

Stack Overflow用户
提问于 2019-08-28 22:50:51
回答 1查看 896关注 0票数 0

我是R软件的新手,使用的是不同的数据集。但最近我在创建Barplot时遇到了一个问题,我没有原始数据集,但有不同变量的结果,例如该数据集的百分比、频率。

我的数据集在excel文件中是这样的。我想用这些信息创建一个堆叠或分组的条形图,并比较两所大学之间的抑郁水平。在抑郁级别,第一个值代表NSU,第二个值代表DIU。

代码语言:javascript
运行
复制
University:  NSU, DIU;
No Depression: 59.7%, 40.3%
; Mild: 55.2%, 44.8%
; Moderate: 51.1%, 48.9%
; Mod.Severe: 53.3%, 46.7%
; Severe: 50%, 50%

我已经尝试用我已有的信息创建一个数据框。并成功地创建了一个条形图。但我对此并不满意。我想要一个更具体的图形表示。

代码语言:javascript
运行
复制
mydf <- data.frame( Normal=c(NSU=59.7, DIU=40.3), 
  Mild=c(55.2,44.8), 
  Moderate = c(51.1,48.9), 
  ModeratelySevere=c(53.3,46.7), 
  Severe = c(50,50))

barplot(t(as.matrix(mydf)), beside=TRUE)

我用这种方法得到了一个柱状图,但它们被分成了两组。一边是NSU的所有抑郁水平,另一边是DIU的所有抑郁水平。

但我想根据他们的大学列出每一个抑郁水平。这意味着,在X轴上将有5个级别。正常、轻度、中度、模数。严重,严重。并且每个水平会呈现2个大学生的抑郁水平。

EN

回答 1

Stack Overflow用户

发布于 2019-08-28 23:57:42

或者使用ggplot和tidyr:

代码语言:javascript
运行
复制
library(ggplot2)
library(tidyr) #For gather

mydf <- data.frame( University = c("NSU", "DIU"),
                    Normal=c(59.7,40.3), 
                    Mild=c(55.2,44.8), 
                    Moderate = c(51.1,48.9), 
                    ModeratelySevere=c(53.3,46.7), 
                    Severe = c(50,50))


mydf %>% 
  gather(Depression, Level, -University) %>% 
  ggplot(aes(Depression, Level, fill = University, group = University)) +
  geom_bar(stat = "identity", position = "dodge") 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57695110

复制
相关文章

相似问题

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