2

如何用循环替换此代码?

m1 <- ggplot(foo)
m2 <- ggplot(foo)
...
m9 <- ggplot(foo)

我想我需要类似get()替换魔法()的东西,但是 get 在这里不起作用。

for (i in 1:9){
  magic(i) <- ggplot(foo)
}
4

3 回答 3

5

使用列表:

out <- list()

for (i in 1:9){
  out[[i]] <- ggplot(foo)
}
于 2012-10-24T23:55:32.737 回答
3

这将起作用:

p <- qplot(data = mtcars, wt, mpg)
for(i in 1:9) assign(paste0("m",i),p)
ls()
 [1] "i"  "m1" "m2" "m3" "m4" "m5" "m6" "m7" "m8" "m9" "p"
于 2012-10-24T22:29:10.673 回答
2

像这样的东西应该工作:

for (i in 1:9) {
  name <- paste("m", i, sep="")
  assign(name, ggplot(foo))
}
于 2012-10-24T22:37:53.373 回答