如何根据 R 中的两个因子数据创建箱线图?

要基于两个因子数据创建箱线图,我们可以为其中一个因子创建分面,其中每个分面将包含第二个因子的箱线图。

例如,如果我们有一个名为 df 的数据框,其中包含两个因子列 F1 和 F2 以及一个数字列 Num,则可以使用以下给定命令创建基于这两个因子的箱线图 -

ggplot(df,aes(F1,Num))+geom_boxplot()+facet_wrap(~F2)

示例

以下代码段创建了一个示例数据框 -

Gender<-sample(c("Male","Score"),20,replace=TRUE)
Class<-sample(c("First","Second","Third"),20,replace=TRUE)
Score<-sample(1:100,20)
df<-data.frame(Gender,Class,Score)
df
输出结果

创建以下数据框 -

   Gender Class    Score
1  Score   First   26
2  Score   Second  97
3  Male    Third   15
4  Male    Second   6
5  Score   First   40
6  Score   Third   49
7  Male    First   60
8  Score   Second  41
9  Male    Third   82
10 Male    First    7
11 Score   Third   85
12 Male    Second  48
13 Score   Third   35
14 Score   First   38
15 Score   Third    3
16 Male    First   51
17 Score   Third   37
18 Male    First    9
19 Score   Third    5
20 Score   First   13

要加载 ggplot2 包并为 df 中的数据创建箱线图,请将以下代码添加到上述代码段 -

library(ggplot2)
ggplot(df,aes(Class,Score))+geom_boxplot()+facet_wrap(~Gender)
输出结果

如果您将上述所有片段作为单个程序执行,它会生成以下输出 -