如何将整体分布箱图与R中的侧分组箱图一起放置

时间:2019-06-11 23:03:17

标签: r boxplot

要基于一个组对“ xcolumn”列进行多个箱形图绘制,我可以简单地这样做:

boxplot(xcolumn ~ group, data = df)

并绘制总体分布:

boxplot(df$xcolumn)

但是,是否有可能将xcolumn的总体分布与分组的箱线图放在同一图中?我希望将总体分布作为第一个箱线图,然后是每个组的箱线图。

2 个答案:

答案 0 :(得分:1)

您可以为整个组添加一个新列,然后使用ggplot

library(dplyr)
library(ggplot2)

iris %>% 
  mutate(Group = "all") %>% 
  ggplot() + 
  geom_boxplot(aes(Species, Sepal.Length)) + 
  geom_boxplot(aes(Group, Sepal.Length))

enter image description here

答案 1 :(得分:1)

您只需复制值并给它们起一个新名称,说“ tot”,然后rbind()一起使用即可。使用relevel()将新因子级别移到最前面。

set.seed(1)
dtf <- data.frame(g=rep(c("A", "B"), 12), a=rnorm(24)+(2:1))
tot <- dtf
tot$g <- "tot"

dtf.tot <- rbind(dtf, tot)
dtf.tot$g <- relevel(dtf.tot$g, "tot")

boxplot(a ~ g, data=dtf.tot)

enter image description here