在学习R时尽可能提供一些简要的指导:
创建for
循环绘制一组直方图:
for ( i in 1:10) {
p <- ggplot(data, aes(x=data[,i], fill=Group)) +
geom_histogram(binwidth=200, alpha=.5, position="dodge")
print(p)
p[i] <- p
}
我想为p
指定不同的名称,以便稍后分别调用这些图。我原以为添加p[i] <- p
就足够了。
我犯的错是什么?谢谢大家!
答案 0 :(得分:3)
每次从ggplot reset p第一次分配到p时,p[i] <-p
无法正常工作,因为它在作业的两侧都是同一个对象。你想使用:
pList <- list()
for ( i in 1:10) {
p <- ggplot(data, aes(x=data[,i], fill=Group)) +
geom_histogram(binwidth=200, alpha=.5, position="dodge")
print(p)
pList[[i]] <- p
}
然后您可以访问p[[1]]
等不同的图表。
答案 1 :(得分:0)
另一种选择是使用assign
for ( i in 1:10) {
assign(paste0("plot", i), ggplot(data, aes(x=data[,i], fill=Group)) +
geom_histogram(binwidth=200, alpha=.5, position="dodge") )
}
这将在您的全球环境中将每个地图创建为不同的对象(plot1
,plot2
,plot3
...)