这可能是一个非常简单的问题。我有一个数据帧列表(df1,df2 .... dfn),即列表的每个元素都是一个数据帧。所以基本上,列表是这样创建的:
mylist = list(df1, df2,...., dfn)
但是如何反向操作,即unlist,以便df1,df2等单独驻留在工作区中?
答案 0 :(得分:65)
使用list2env
专为此设计:
从命名列表x中,创建一个包含所有列表的环境 组件作为对象,或从x“多分配”到预先存在的 环境。
所以这里:
list2env(mylist ,.GlobalEnv)
答案 1 :(得分:15)
你可以简单地使用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]])