我有这个数据集:
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()
}
答案 0 :(得分:3)
我猜这里:
library(reshape)
ggplot(melt(df, id.vars="groups")) + geom_boxplot(aes(x=groups, y=as.numeric(value))) + facet_wrap(~variable)
给出
和
library(reshape)
ggplot(melt(df, id.vars="groups")) + geom_boxplot(aes(x=groups, y=as.numeric(value)), color=variable)
给出
是否有任何接近你想要的东西?