R:绘制具有两个条件的个人百分比的条形图

经济学家_死藤水

我想在以下数据集中绘制条件 A 和 B、A 和 C、A 和 D 的个体百分比:

Lines <- "id sex Age A B C D
1       male   90 1 1 0 1
2       female  87 0 1 1 0
3       male  50 1 1 0 0
4       female  54 0 1 0 1"

理想情况下,条形图的 X 轴为 B、C 和 D,Y 轴为百分比。这是否可以通过一个函数来完成,该函数可以外推到具有许多变量的设置,并且还可以通过性别和年龄 > 55 来打破?

戴夫2e

这是一个基本的解决方案。
以下解决方案sapply用于遍历列,然后使用 ggplot 创建图表。

df <-read.table(header=TRUE, text="id sex Age A B C D
                1       male   90 1 1 0 1
                2       female  87 0 1 1 0
                3       male  50 1 1 0 0
                4       female  54 0 1 0 1")


#perform the calculations
results<- sapply(5:7, function(colid) {
        cond <- names(df)[colid]
        result <- sum(df[["A"]]& df[[cond]])
})
conditions<-paste0("A", names(df)[5:7])

results <- data.frame(conditions, results)


#plotting
library(ggplot2)
library(scales)

g<- ggplot(results, aes(x=conditions, y=results/ncol(df))) +
        geom_col(fill="blue") +
        scale_y_continuous(limits=c(0,1), labels=label_percent())
print(g)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

R带有ggplot的两个因子变量的百分比的堆积百分比条形图

如何在 R Shiny 应用程序中创建具有两个反应值的堆积百分比条形图?

具有第三个变量displayng百分比的两个类别变量facet_wrap的ggplot 2的条形图

ggplot2 R:具有多个变量的百分比堆积条形图

试图从百分比绘制堆积条形图

如何从熊猫数据框中绘制具有百分比分布的水平条形图?

在 R 中绘制百分比堆积条形图

总与部分的条形图,百分比 (R)

具有特定数据结构的堆积条形图百分比

具有渐变值(而非百分比)和值线的Excel条形图

具有 50 多个创建的虚拟变量的堆叠条形图(百分比)?

当您只有样本+可变百分比时,是否可以绘制百分比堆积条形图?

如何制作四个具有不同高度并具有一定百分比的常用颜色的条形图

在R中作图:如何在时间序列数据中绘制堆叠的条形图以显示百分比构成?

如何计算和绘制堆叠条形图的百分比标签以及条形图的总数?

创建具有两个百分比的响应式圆形百分比图表

如何用条形图绘制累积百分比折线图?

使用绝对值和百分比值 + 标签绘制分组条形图

给定百分比,如何绘制堆积的条形图?

如何使用matplotlib绘制水平百分比条形图?

在数据框中绘制条形图时显示百分比时出错

如何使用字典绘制Seaborn百分比条形图?

ggplot2:如何绘制条形图,条形图表示百分比,并根据百分比值进行着色?

R堆叠百分比条形图,带有二元因子和标签的百分比

水平堆积条形图的水平百分比,两端均带有标签

数据透视表中的条形图,具有总计和每组总计的百分比

堆叠的ggplot百分比条形图在闪亮

百分比堆积条形图熊猫

ggplot条形图百分比组