在全局环境中命名并放置列表的每个元素

时间:2013-12-18 11:58:49

标签: r

如果你有一个list,但你希望列表中的每个元素都是它在全局环境中的独立元素,例如。

alist <- list( c(1,2), c(3,4) )
# into
a <- c(1,2)
b <- c(3,4)

有一个简单的方法吗?也许下面的形式:

mapply(function(x,y){ y <- x }, alist, list("a","b"), SIMPLIFY = FALSE )

2 个答案:

答案 0 :(得分:10)

使用list2env

alist <- list( a=c(1,2), b=c(3,4) )  # naming list elements
list2env(alist, envir = .GlobalEnv)

答案 1 :(得分:2)

如果您的元素未命名,则可以mapply使用assign:

进行操作
mapply(assign, list("a","b"), alist, MoreArgs=list(envir=.GlobalEnv))
> ls()
## [1] "a"     "alist" "b"

但罗兰说的是什么。