循环绘制数据集

时间:2014-08-12 12:22:06

标签: r for-loop plot

我有这个数据集:

x <- sample(80)
matrix <- matrix(x, ncol=5, nrow=16)
matrix <- cbind(matrix, c(rep("group1",4), rep("group2",4), rep("group3",4), rep("group4",4)))
colnames(matrix) <- c(letters[1:5], "groups")
df <- as.data.frame(matrix)

我希望能够使用for循环绘制五个箱图,每个列从a到e一个。 我试过这个,但我无法弄清楚如何使它工作:

for(i in df[,1:5]) {
  p <- ggplot(df, aes(x=groups, y=as.numeric(as.character(i))))
  p +  geom_boxplot()
}

1 个答案:

答案 0 :(得分:3)

我猜这里:

library(reshape)
ggplot(melt(df, id.vars="groups")) + geom_boxplot(aes(x=groups, y=as.numeric(value))) + facet_wrap(~variable)

给出

enter image description here

library(reshape)
ggplot(melt(df, id.vars="groups")) + geom_boxplot(aes(x=groups, y=as.numeric(value)), color=variable)

给出

enter image description here

是否有任何接近你想要的东西?