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

时间:2019-06-03 03:42:52

标签: r ggplot2 boxplot violin-plot

我以mtcars数据集为例,并且使用此代码。

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

对于每个方面,我想在x轴上添加第四个类别(也许称为“ 6or8”),其中将6缸和8缸组(而不是4缸组)组合在一起。我找到了this similar post,但是由于我的面和添加了两个类别而不是所有类别,所以对我没有帮助。

有人有建议吗?谢谢。

1 个答案:

答案 0 :(得分:1)

您可以尝试以下方法:

> 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”成为第一级/最后一级)。