我是R软件的新手,使用的是不同的数据集。但最近我在创建Barplot时遇到了一个问题,我没有原始数据集,但有不同变量的结果,例如该数据集的百分比、频率。
我的数据集在excel文件中是这样的。我想用这些信息创建一个堆叠或分组的条形图,并比较两所大学之间的抑郁水平。在抑郁级别,第一个值代表NSU,第二个值代表DIU。
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%
我已经尝试用我已有的信息创建一个数据框。并成功地创建了一个条形图。但我对此并不满意。我想要一个更具体的图形表示。
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个大学生的抑郁水平。
发布于 2019-08-28 23:57:42
或者使用ggplot和tidyr:
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")
https://stackoverflow.com/questions/57695110
复制相似问题