R一次绘制多个变量的箱线图

R boxplot several variables at once

我有以下数据集,我想从中制作箱线图:

July<-c("Closed","Open")
Cistus<-c(10.8, 18.9)
CS<-c(2.004, 3.9)
Oak<-c(7.4, 12.4)
OS<-c(0.9,2.1)

df<-data.frame(July, Cistus, CS, Oak, OS)

我希望我的箱线图在 x 轴上有岩蔷薇和橡树,每个都有两个盒子(打开和关闭)。所以总共有 4 个盒子....

我在这方面非常失败......你能帮帮我吗?很抱歉这个基本问题。

我会用 reshape2 来安排你的 data.frame。然后,你可以在箱线图中使用公式,所以:

library(reshape2)
boxplot(July + variable ~ value, melt(df))

每组有多个值和一些颜色:

df2 <- data.frame(July=rep(c("Closed", "Open"), each=5),
                  Cistus=runif(10),
                  CS=runif(10),
                  Oak=runif(10),
                  OS=runif(10))

boxplot(value ~ July + variable, melt(df2), col=c("grey10", "grey50"))

这是您要找的吗?

这里是对 Vincent 代码的修改,但对所需类别进行了子集设置:

library(reshape2)
#reshape into long format
dfnew<-melt(df, "July")
#subset down to just Cistus and Oak
dfnew<-droplevels(dfnew[dfnew$variable %in% c("Cistus", "Oak"),])
#plot
boxplot(value ~ July+variable, data=dfnew, las=2, col=c("grey10", "grey50"))