如何使用具有三个级别的 x 变量和比例不相关的二分 y 变量创建条形图 [重复]
Posted
技术标签:
【中文标题】如何使用具有三个级别的 x 变量和比例不相关的二分 y 变量创建条形图 [重复]【英文标题】:How to create a bar plot with an x-variable with three levels and an unrelated dichotomous y-variable in proportions [duplicate] 【发布时间】:2021-12-21 11:06:18 【问题描述】:示例表:
Obesity and/or Diabetes status | Death occurred |
---|---|
0 | 1 |
2 | 1 |
1 | 0 |
2 | 0 |
2 | 0 |
1 | 1 |
0 | 0 |
我想创建一个条形图,其中 x 变量是肥胖和/或糖尿病状态,其中将有 0、1 和 2 三个相邻条形图。我希望 y 变量是每个 x 类别中死亡的个人。我尝试运行的代码如下:
install.packages("qdap", "dplyr", "tidyr", "ggplot2")
install.packages("igraph", type = "binary")
install.packages("gender", type = "binary")
library(qdap)
library(dplyr)
library(tidyr)
library(ggplot2)
`FramFinal2017(1)`$category <- rownames(`FramFinal2017(1)`)
df <- `FramFinal2017(1)` %>%
gather(results, DEATH, - category) %>%
mutate(results = char2end(results, "_", 2)) %>%
separate(category, c("category", "Response"))
ggplot(data = df, aes(x = category, y = DEATH, fill = Response)) +
geom_bar(stat = "identity", position = "stack") +
facet_grid(. ~ results)
但代码不断吐出与包本身相关的错误,例如:
Error: package or namespace load failed for ‘qdap’ in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]): namespace ‘dplyr’ 0.8.3 is already loaded, but >= 0.8.5 is required
如果有其他方法可以解决此问题,或者您需要更多说明,请告诉我。
【问题讨论】:
【参考方案1】:你可以试试
library(tidyverse)
read.table(text="status Death
0 1
2 1
1 0
2 0
2 0
1 1
0 0", header=T) %>%
group_by(status) %>%
summarise(total = n(),
n=sum(Death)) %>%
mutate(proportion_death = n/total*100) %>%
ggplot(aes(status, proportion_death)) +
geom_col()
【讨论】:
以上是关于如何使用具有三个级别的 x 变量和比例不相关的二分 y 变量创建条形图 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
想要将 Pandas 数据框绘制为具有 log10 比例 x 轴的多个直方图
具有变量替换的 Visual Studio 2012 数据库部署