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"))
我有以下数据集,我想从中制作箱线图:
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"))