如何在同一个情节中制作两个箱图?

时间:2016-09-21 16:50:24

标签: r plot boxplot

对于大学来说,我的任务是在同一个地块中并排创建两个胡须盒子。 (然后对它们进行批评性评论和观察)

本练习所基于的sway数据框可以通过以下R命令获得:

sway <-
  structure(list(Age = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L),
                                 .Label = c("Elderly", "Young"), class = "factor"),
                 FBSway = c(19L, 30L, 20L, 19L, 29L, 25L, 21L, 24L, 50L, 25L, 21L, 17L, 15L, 14L, 14L, 22L, 17L), 
                 SideSway = c(14L, 41L, 18L, 11L, 16L, 24L, 18L, 21L, 37L, 17L, 10L, 16L, 22L, 12L, 14L, 12L, 18L)),
            .Names = c("Age", "FBSway", "SideSway"),
            class = "data.frame", row.names = c(NA, -17L))

我们的想法是,我们在sway$FBsway Young年龄组中为同一情节创建Elderly的箱形图。

我知道par(mfrows=c(1,2))函数,但这会产生两个松散的并排。

如何将sway数据框转换为boxplot()可用于在单个图中创建所需箱图的格式?

2 个答案:

答案 0 :(得分:1)

这样做你想要的吗?

plot(as.numeric(sway$FBSway) ~as.factor(sway$Age))

答案 1 :(得分:0)

这个怎么样?

library(ggplot2)
library(reshape2)
sway <- melt(sway)

ggplot(sway, aes(variable, value)) + geom_boxplot() + facet_wrap(~Age)

enter image description here

ggplot(sway, aes(Age, value)) + geom_boxplot() + facet_wrap(~variable)

enter image description here