【发布时间】:2018-11-27 13:51:29
【问题描述】:
我有一个包含三个变量的数据框:
df <- data.frame(
level = rep(c(2,2,1,1,0,0),3),
names = c(rep("name1",6),rep("name2",6),rep("name3",6)),
values = c(rnorm(6)-1, rnorm(6), rnorm(6)+1)
)
现在我想在for 循环中为df$names 中的每个级别绘制df$values 在df$level 上的分布。虽然这个forloop 确实绘制了所需的箱线图,但它会将它们全部绘制在同一帧中,而不是像预期的那样并排:
for(i in unique(df$names)){
par(new=T)
boxplot(df[df$names==i,]$values ~ df[df$names==i,]$level)
}
如何更改代码以便并排显示每个 df$names 的箱线图?
【问题讨论】:
-
也许使用带有构面的 ggplot2,而不是 forloop?
-
可能这就是你想要的:
boxplot(df$values ~ df$level+df$names)