我有很多 .RData 文件,其中包含我在之前的分析中保存的一个数据框,并且该数据框对于加载的每个文件都具有相同的名称。因此,例如使用 load(file1.RData) 我得到一个名为“df”的数据框,然后使用 load(file2.RData) 我得到一个同名的数据框“df”。我想知道是否有可能将所有这些 .RData 文件合并到一个大 .RData 文件中,因为我需要一次加载它们,每个 df 的名称等于文件名,这样我就可以使用不同的数据帧。
我可以使用下面的代码来做到这一点,但它非常复杂,必须有更简单的方法来做到这一点……谢谢你的建议。
假设我有 3 个 .RData 文件,并希望将所有文件保存在一个名为“main.RData”的文件中,并使用它们的特定名称(现在它们都以“df”的形式出现):
all.files = c("/Users/fra/file1.RData", "/Users/fra/file2.RData", "/Users/fra/file3.RData")
assign(gsub("/Users/fra/", "", all.files[1]), local(get(load(all.files[1]))))
rm(list= ls()[!(ls() %in% (ls(pattern = "file")))])
save.image(file="main.RData")
all.files = all.files = c("/Users/fra/file1.RData", "/Users/fra/file2.RData", "/Users/fra/file3.RData")
for (f in all.files[-1]) {
assign(gsub("/Users/fra/", "", f), local(get(load(f))))
rm(list= ls()[!(ls() %in% (ls(pattern = "file")))])
save.image(file="main.RData")
}