这是我的问题。如果您能提供帮助,我们将不胜感激。我有一个包含多个长度不同但结构相同的 data.frame 的列表。现在我想分别保存列表中的data.frames。注意:不要使用 do.call(rbind,...) 将它们合并到一个 data.frame 中。另外我想命名数组中的每个 data.frame 。
a=c(1,2,3,4,5,6)
b=c(4,5,6,5,5,5)
c=c(3,4,5,6,7,8)
A=data.frame(a=a,b=b,c=c)
B=data.frame(a=c,b=b,c=a)
C=data.frame(a=b,b=c,c=a)
l <- list(A, B, C)
names.list <- c("NewYear_Data", "Thanks_giving", "Christmas")
Run Code Online (Sandbox Code Playgroud)
现在我想使用名称中的名称将 ABC 保存在列表中。列表
具体来说,这里我有一个列表l,其中有几个data.frames。现在我想使用names.list中的名称保存列表中的每个data.frames。
我尝试取消列出、获取并申请...
如果有人可以使用 plyr、reshape 或 data.table 方法解决这个问题,那就太好了。
多谢!
这是解决方案
l <- list(A, B, C)
nms <- c("NewYear_Data", "Thanks_giving", "Christmas")
names(l) = nms
Run Code Online (Sandbox Code Playgroud)
现在您可以使用这样的名称:
l$Christmas
Run Code Online (Sandbox Code Playgroud)
如果您想删除该列表,请执行以下操作:
attach(l)
Christmas
Run Code Online (Sandbox Code Playgroud)
要将它们保存在二进制文件中:
save(list=nms,file='file.Rdata')
Run Code Online (Sandbox Code Playgroud)
或者在文本文件中:
for( i in 1:length(l))
write.csv(l[i],paste0(nms[i],'.txt'))
Run Code Online (Sandbox Code Playgroud)
请注意避免调用您的变量names。