2012-10-24 97 views
2

如何將此代碼替換爲循環?生成變量名稱(類似於get())

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

我想我需要這樣的東西get()更換魔(),但得到沒有在這裏工作。

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

回答

5

使用列表:

out <- list() 

for (i in 1:9){ 
    out[[i]] <- ggplot(foo) 
} 
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

像這樣的東西應該工作:

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