r - R:绘制数据帧中对组合的百分比
问题描述
我有以下内容dataframe
:
df <-read.table(header=TRUE, text="id Medication
1 A
1 B
1 C
2 A
2 B
3 A
3 A
3 B
4 B
4 C")
我想在条形图中绘制每份药物的个人百分比:A&B、B&C 和 C&D。在此示例中,它将是:
A&B = 0.75, B&C = 0.5, and A&C = 0.25.
解决方案
您可以使用combn
来计算每个组合的比率。
data <- do.call(rbind, combn(unique(df$Medication), 2, function(x)
data.frame(Med_comb = paste(x, collapse = ' & '),
value = mean(tapply(df$Medication, df$id, function(y) all(x %in% y)))),
simplify = FALSE))
data
# Med_comb value
#1 A & B 0.75
#2 A & C 0.25
#3 B & C 0.50
对于绘图,您可以使用ggplot2
.
library(ggplot2)
ggplot(data, aes(Med_comb, value)) + geom_col()
推荐阅读
- visual-studio - Xamarin.Forms 在 Visual Studio for Mac 中不起作用
- c# - 如何通过 Startup.cs 中调用的方法将数据保存在 Asp .net core 中?
- c# - 继承中的基类实例
- spring - 通过浏览器访问 Heroku Spring Web 应用程序上的静态资源
- javascript - 使用 Javascript 上传图像并显示
- kubernetes - 使用 KOPS 的 AWS Kubernetes 集群 - Kube-dns 和 Kube-proxy 出现故障
- firebase - 批量读取firebase数据库 - 限制读取嵌套数据
- cobalt - 关于调整浏览到观看内存的问题
- c++ - 使用map实现trie而不创建新节点
- ubuntu - 我正在使用蜂巢然后系统自动关闭之后无法打开蜂巢