如何在x轴上添加一个表示ggplot2中所有观察结果的因子水平?

时间:2015-05-31 21:49:36

标签: r ggplot2

很容易创建绘图,其中x轴具有以下每个因子级别:

df <- data.frame(value = rnorm(100), group = rep(1:3, length=100))
ggplot() + geom_boxplot(aes(factor(group), value), data=df)

我想在x轴上添加另一个因子级别,该级别使用整个样本中的数据(而不是仅来自一个组)。手动方法是将rbind数据框自身,如下所示:

df2 <- rbind(df, df)
df2$group[100:200] <- "entire sample"
ggplot() + geom_boxplot(aes(factor(group), value), data=df2)

但是,有时我的数据框非常复杂,我想避免重复我的数据框。还有更好的方法吗?

1 个答案:

答案 0 :(得分:4)

你可以这样做:

ggplot() + geom_boxplot(aes(factor(group), value), data=df) + 
           geom_boxplot(aes('entire sample', value), data=df)

你得到的结果相同

enter image description here