如何基于 R 数据框中的两组创建条形图?

要创建基于两个组的条形图,我们可以使用 ggplot2 包的 geom_bar 函数和定义组位置的位置参数。例如,如果我们有一个名为 df 的数据框,其中包含两个分类变量 x1 和 x2 以及一个响应变量 y,则可以使用以下命令创建条形图 -

ggplot(df,aes(x1,y,fill=x2))+geom_bar(position=position_dodge(),stat="identity")

示例

考虑下面的数据框 &minus

Gender<−sample(c("Male","Female"),20,replace=TRUE)
Age_Group<−sample(c("20-25","25-35","35-50"),20,replace=TRUE)
Y<−rpois(20,50)
df<−data.frame(Gender,Age_Group,Y)
df
输出结果
  Gender Age_Group Y
1 Male    20−25     57
2 Female  35−50     49
3 Male    20−25     57
4 Male    20−25     48
5 Male    35−50     52
6 Male    25−35     56
7 Male    35−50     49
8 Male    25−35     55
9 Male    20−25     45
10 Male   20−25     52
11 Male   20−25     55
12 Female 35−50     48
13 Male   20−25     47
14 Male   20−25     44
15 Male   35−50     47
16 Male   35−50     44
17 Female 25−35     49
18 Male   35−50    45
19 Female 35−50     54
20 Female 20−25     50

加载 ggplot2 包并基于 x1 和 x2 创建条形图 -

示例

library(ggplot2)
ggplot(df,aes(Age_Group,Y,fill=Gender))+geom_bar(position=position_dodge(),stat="identity")
输出结果