如何在R中的同一图表中放置多个箱图?

poe*_*mon 7 plot r ggplot2 boxplot rstudio

对不起,我没有这个问题的示例代码.

我想知道的是,是否可以在R中创建多个并排的箱图,表示我的数据框中的不同列/变量.每个箱图也只代表一个变量 - 我想将y标度设置为(0,6)的范围.

如果这是不可能的,如果我只想使用单个变量创建一个箱图,我怎样才能使用ggplot2中的面板选项?谢谢!

理想情况下,我想要像下面的图像,但没有像ggplot2那样的因子分组.同样,每个箱图将代表完全独立的单列.

在此输入图像描述

pic*_*ick 5

如果您将数据重新整形为长格式,则可以执行此操作

## Some sample data
dat <- data.frame(a=rnorm(100), b=rnorm(100), c=rnorm(100))

## Reshape data wide -> long
library(reshape2)
long <- melt(dat)
plot(value ~ variable, data=long)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


jal*_*pic 5

ggplot2 要求您在y轴上绘制的数据都在一列中.

这是一个例子:

set.seed(1)
df <- data.frame(
  value = runif(810,0,6),
  group = 1:9
)

df

library(ggplot2)
ggplot(df, aes(factor(group), value)) + geom_boxplot() + coord_cartesian(ylim = c(0,6)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

ylim(0,6)套y轴为0和6之间

如果您的数据位于列中,则可以使用meltfrom reshape2gatherfrom 将它们导入longform tidyr.(也可提供其他方法).

  • 注意:对于ggplot2`ylim()`子集数据,用于显示箱线图.使用`coord_cartesian(ylim =)`代替 (2认同)