【问题标题】:generate variable names (something like get())生成变量名(类似于 get())
【发布时间】:2012-10-15 01:14:31
【问题描述】:

如何用循环替换这段代码?

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

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

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

【问题讨论】:

    标签: r function variable-assignment


    【解决方案1】:

    使用列表:

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

    【讨论】:

      【解决方案2】:

      这将起作用:

      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"
      

      【讨论】:

        【解决方案3】:

        这样的事情应该可以工作:

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

        【讨论】:

          猜你喜欢
          • 2013-11-26
          • 1970-01-01
          • 1970-01-01
          • 2012-10-28
          • 2012-10-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多