将组合并为一组以在箱线图中显示(ggplot2,R)

Combine groups into one group to display in boxplot (ggplot2, R)

我以 mtcars 数据集为例,并使用了这段代码。

library(ggplot2)
library(ggsci)
ggviolin(mtcars, x="cyl", y="disp", fill="cyl", palette="jco", facet.by = "am")

对于每个方面,我想在 x 轴上添加第四个类别(可能称为“6or8”),其中 6 缸和 8 缸组(但不是 4 缸组)被合并。我找到了 ,但它对我没有帮助,因为我的方面和添加两个而不是所有类别。

有人有什么建议吗?谢谢。

你可以试试这个:

> newmtcars <- rbind(mtcars %>% mutate(cyl = as.character(cyl)),
+                    mtcars %>% filter(cyl %in% c(6,8)) %>% mutate(cyl = '6or8')) %>% arrange(cyl)
> ggviolin(newmtcars, x="cyl", y="disp", fill="cyl", palette="jco", facet.by = "am")

您可以手动更改 cyl 的级别以更改绘图中的顺序(例如,如果您希望“6or8”成为 first/last 级别)。