ggplot2中的多个箱图

时间:2014-10-26 15:57:44

标签: r ggplot2

我有三个向量,我想在ggplot2中制作左右边的箱形图。每个向量包含来自三个单独样本的观察结果,因此理想情况下我想识别每个箱图。我当然知道如何使用简单的boxplot命令来完成它,但在ggplot2中,它似乎更复杂,至少对于像我这样的新手来说。

你能告诉我是否有一种无痛的方式可以在这里继续吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

library(ggplot2)
library(reshape2)

# re-create your samples via runif (though I should have set.seed first)

obs_1 <- runif(100)
obs_2 <- runif(100)
obs_3 <- runif(100)

# you need a data frame, but you can do it on the fly
# this makes 3 columns from each of your samples
# then uses melt to do wide to long (which is what geom_boxplot needs

gg <- ggplot(melt(data.frame(obs_1, obs_2, obs_3)), aes(x=variable, y=value))
gg <- gg + geom_boxplot()
gg

enter image description here

你应该真正建立一个合适的数据框,根据需要进行融合并重命名列。这只是为了展示一个简单的例子。