这可能是一个非常简单的问题。我有一个数据框列表(df1,df2 .... dfn),即列表的每个元素都是一个数据框。所以基本上,列表是这样创建的:
mylist = list(df1, df2,...., dfn)
但是我该如何做相反的事情,即未列出以便 df1、df2 等单独驻留在工作区中?
这可能是一个非常简单的问题。我有一个数据框列表(df1,df2 .... dfn),即列表的每个元素都是一个数据框。所以基本上,列表是这样创建的:
mylist = list(df1, df2,...., dfn)
但是我该如何做相反的事情,即未列出以便 df1、df2 等单独驻留在工作区中?
使用list2env
它是专门为此设计的:
从命名列表 x,创建一个包含所有列表组件作为对象的环境,或从 x“多重分配”到预先存在的环境中。
所以在这里 :
list2env(mylist ,.GlobalEnv)
您可以简单地使用 for 循环和这样的assign
函数:
# Sample data
df.list <- list(data.frame(x = 1:3, y = c(10, 20, 30)),
data.frame(x = 4:6, y = c(40, 50, 60)),
data.frame(x = 7:9, y = c(70, 80, 90)))
# Write out single data frames
for (i in seq(df.list))
assign(paste0("df", i), df.list[[i]])