代码之家  ›  专栏  ›  技术社区  ›  JD Long

R:将列表项转换为对象

  •  6
  • JD Long  · 技术社区  · 14 年前

    我有一个手动创建的对象列表,如下所示:

    rand1 <- rnorm(1e3)
    rand2 <- rnorm(1e6)
    
    myObjects <- NULL
    myObjects[[1]] <-rand1
    myObjects[[2]] <-rand2
    names(myObjects) <- c("rand1","rand2")
    

    #pseudo code
    for each thing in myObjects
      thing <- myObjects[[thing]]
    

    3 回复  |  直到 14 年前
        1
  •  11
  •   Shane    14 年前

    assign :

    for(i in 1:length(myObjects)) assign(names(myObjects)[i], myObjects[[i]])
    
        2
  •  8
  •   Collin    14 年前

    attach(myObjects)

        3
  •  5
  •   Richie Cotton Joris Meys    14 年前

    扩展Shane的答案:

    mapply(assign, names(myObjects), myObjects, MoreArgs=list(envir = globalenv())
    

    (您可能希望更改 globalenv() 到另一个环境。)