Как поместить несколько boxplots в один и тот же график в R?
Извините, у меня нет примера кода для этого вопроса.
все, что я хочу знать, это возможно ли создать несколько бок о бок boxplots в R, представляющих различные столбцы/переменные в моем фрейме данных. Каждый boxplot также будет представлять только одну переменную-я хотел бы установить шкалу y в диапазон (0,6).
Если это невозможно, как я могу использовать что-то вроде опции панели в ggplot2, если я хочу создать boxplot с помощью одной переменной? Спасибо!
В идеале я хочу что-то вроде изображения ниже, но без группировки факторов, как в ggplot2. Опять же, каждый boxplot будет представлять собой полностью отдельные и одиночные столбцы.
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)
на 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)