Как поместить несколько boxplots в один и тот же график в R?

Извините, у меня нет примера кода для этого вопроса.

все, что я хочу знать, это возможно ли создать несколько бок о бок boxplots в R, представляющих различные столбцы/переменные в моем фрейме данных. Каждый boxplot также будет представлять только одну переменную-я хотел бы установить шкалу y в диапазон (0,6).

Если это невозможно, как я могу использовать что-то вроде опции панели в ggplot2, если я хочу создать boxplot с помощью одной переменной? Спасибо!

В идеале я хочу что-то вроде изображения ниже, но без группировки факторов, как в ggplot2. Опять же, каждый boxplot будет представлять собой полностью отдельные и одиночные столбцы.

enter image description here

2 ответов


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)

enter image description here

на ylim(0,6) устанавливает ось y в диапазоне от 0 до 6

если ваши данные находятся в Столбцах, вы можете получить их в longform, используя melt С reshape2 или gather С tidyr. (другие методы также доступны).


вы можете сделать это, если вы изменить ваши данные в длинном формате

## 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)

enter image description here