r - 如何在 ggplot / R 中制作此直方图?
问题描述
请在My data q
下面找到。
我有两个协变量:对应于五项不同的研究q$Studie
,q$best.resp
每项研究都报告了某种治疗后获得的最佳反应。
q$best.resp
有三个级别
table(q$best.resp)
0 1 2
62 42 2
我想生成一个直方图,说明每一项q$best.resp
和q$Studie
所有研究的组合(对应于table(q$best.resp)
)
我已经绘制了这个例子,说明我希望情节看起来如何。不幸的是,我没有通过手册成功。
我更喜欢 ggplot2 中的解决方案。请注意,所有研究都只有q$best.resp==0
或q$best.resp==1
- 除了q$Studie==5
,单独有两个案例q$best.resp==2
My data
q <- structure(list(Studie = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L), best.resp = c(0L, 1L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L,
1L, 1L, 0L, 1L, 0L, 1L, 1L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L,
0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L,
1L, 0L, 0L, 1L, 0L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 0L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 2L, 0L, 2L)), .Names = c("Studie",
"best.resp"), class = "data.frame", row.names = c(NA, -106L))
解决方案
你可以尝试一个tidyverse
library(tidyverse)
q %>%
as_tibble() %>%
mutate(Studie=as.character(Studie),
best.resp =as.factor(best.resp)) %>%
bind_rows(., mutate(., Studie="all")) %>%
count(Studie, best.resp) %>%
ggplot(aes(Studie, n, fill= best.resp)) +
geom_col(position = position_dodge2(preserve = "single"))
推荐阅读
- python - 使用 SSL 连接在 Apache Server (Ubuntu) 中运行 Django 应用程序
- css - 不能将 font-style=italic 与 font-weight 结合使用
- python-3.x - 如何使用python中的一些api计算加热/冷却度日
- google-cloud-platform - GCP 如何计算未验证应用的新用户数?
- c# - 通过实体框架更新时如何绕过唯一键约束(使用 dbcontext.SaveChanges())
- android - 如何模拟系统类以进行类型转换
- asp.net-core - 使用 ASP.net 核心项目时出现 HTTP 错误 500.0
- mysql - 谷歌 Kubernetes Engine mysql 半夜转储
- .net - MSBuild 分配了错误的 TargetFrameworkSDKToolsDirectory
- python-3.x - Pandas 在浮点数末尾创建不存在的额外数字