生成变量名(类似于get())

时间:2012-10-24 22:17:54

标签: r function variable-assignment

如何用循环替换此代码?

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

我想我需要像get()这样的东西来取代魔法(),但是这里得不到了。

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

3 个答案:

答案 0 :(得分:5)

使用清单:

out <- list()

for (i in 1:9){
  out[[i]] <- ggplot(foo)
}

答案 1 :(得分: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"

答案 2 :(得分:2)

这样的事情应该有效:

for (i in 1:9) {
  name <- paste("m", i, sep="")
  assign(name, ggplot(foo))
}