如何在 R 中创建每个条形总和为 1 或 100% 的堆叠条形图?


堆叠条形图由一个条形中的多个条形组成,它显示类别变量的一个类别及其级别。通常,堆叠条形图创建为每个类别中级别的数量,但如果我们想为类别变量的各个类别创建百分比,则也可以做到。我们可以使用 prop.table 函数为每个类别创建级别的比例,然后创建条形图。

示例

考虑以下数据帧 -

> set.seed(99)
> x1<-sample(1:100,5)
> x2<-sample(1:100,5)
> x3<-sample(1:100,5)
> df<-data.frame(x1,x2,x3)
> df
x1 x2 x3
1 48 98 68
2 33 32 9
3 44 13 82
4 22 20 88
5 62 31 30

创建简单的堆叠条形图 -

> data<-rbind(x1,x2,x3)
> prop.table(data)
[,1] [,2] [,3] [,4] [,5]
x1 0.07058824 0.04852941 0.06470588 0.03235294 0.09117647
x2 0.14411765 0.04705882 0.01911765 0.02941176 0.04558824
x3 0.10000000 0.01323529 0.12058824 0.12941176 0.04411765
> barplot(data)

输出

创建一个每个条形总和为 1 的条形图 -

> barplot(prop.table(data,2))

输出

更新于: 12-Aug-2020

308 次观看

开启您的 职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.