在 R 中绘制二进制列总和,然后用分类变量的比率覆盖这些列
Graphing binary column sums in R, and then overlay those columns with a ratio of categorical variables
我正在尝试在 R 中绘制定性政策分析数据的图表。我的数据库中每项政策都有一行,然后是二进制变量的列,如果满足该条件,则条件编码为“1”。最后,每一行还包含一列,用于说明该政策是强制性的、自愿性的还是部分政策。
我想创建一个对列求和的条形图,然后根据强制性、自愿性或部分总和的百分比为条形着色。
理想的结果是创建一个如下图所示的条形图,但根据强制性、自愿性或部分政策的比例用颜色编码
以下是一些相同格式的示例数据:
df<- data.frame(ID=c(1,2,3,4,5,6),
policy=c("Policy A", "Policy B", "Policy C", "Policy D",
"Policy E","Policy F" ),
Data_collection= c(1, 0, 0, 1, 1, 0),
Handling_release= c(0, 1, 0, 1, 0, 1),
Gear_modification= c(1, 0, 0, 1, 1, 0),
Stength=c("M", "V", "M", "P", "P", "M"),
stringsAsFactors=FALSE)
看来您真的需要将数据重塑为合适的整洁格式,以便更轻松地绘图。例如你可以做
library(dplyr)
library(tidyr)
library(ggplot2)
df %>%
pivot_longer(Data_collection:Gear_modification) %>%
filter(value==1) %>%
ggplot(aes(name, fill=Stength)) +
geom_bar()
对于提供的样本数据,这给出了
要在顶部添加总数,请参阅此现有问题:
我正在尝试在 R 中绘制定性政策分析数据的图表。我的数据库中每项政策都有一行,然后是二进制变量的列,如果满足该条件,则条件编码为“1”。最后,每一行还包含一列,用于说明该政策是强制性的、自愿性的还是部分政策。
我想创建一个对列求和的条形图,然后根据强制性、自愿性或部分总和的百分比为条形着色。
理想的结果是创建一个如下图所示的条形图,但根据强制性、自愿性或部分政策的比例用颜色编码
以下是一些相同格式的示例数据:
df<- data.frame(ID=c(1,2,3,4,5,6),
policy=c("Policy A", "Policy B", "Policy C", "Policy D",
"Policy E","Policy F" ),
Data_collection= c(1, 0, 0, 1, 1, 0),
Handling_release= c(0, 1, 0, 1, 0, 1),
Gear_modification= c(1, 0, 0, 1, 1, 0),
Stength=c("M", "V", "M", "P", "P", "M"),
stringsAsFactors=FALSE)
看来您真的需要将数据重塑为合适的整洁格式,以便更轻松地绘图。例如你可以做
library(dplyr)
library(tidyr)
library(ggplot2)
df %>%
pivot_longer(Data_collection:Gear_modification) %>%
filter(value==1) %>%
ggplot(aes(name, fill=Stength)) +
geom_bar()
对于提供的样本数据,这给出了
要在顶部添加总数,请参阅此现有问题: