将列表文件取消列表到多个数据帧

Dav*_*d Z 5 r dataframe

我创建了一个包含72个元素的R列表.我如何将此文件取消归档到72个具有每个元素名称的单个数据帧?

这是一个例子:

L <- list(data.frame(matrix(1:4,2,2)),
          data.frame(matrix(9:12,2,2)),
          data.frame(matrix(5:8,2,2)))
names(L)<-c("a","b","c")
Run Code Online (Sandbox Code Playgroud)

如何获得三个数据帧a,b和c?

Sim*_*lon 7

有一个功能......

list2env( L , .GlobalEnv )
Run Code Online (Sandbox Code Playgroud)

但就像詹姆斯所说,你需要有充分的理由不想将它们列入清单.使用列表要比72个单独的data.frames!更容易.你想做什么.


Jam*_*mes 4

您可以assign使用lapply. 请注意,我已将通话包装在invisible以避免将输出打印到控制台。

invisible(lapply(names(L),function(x) assign(x,L[[x]],.GlobalEnv)))
ls()
[1] "a" "b" "c" "L"
a
  X1 X2
1  1  3
2  2  4
Run Code Online (Sandbox Code Playgroud)

然而,虽然元素在列表中,但它们可能更容易使用,lapply例如使用。