使用for循环将数据帧另存为.Rdata文件

耶罗恩

我正在尝试将一堆数据帧另存为.RData文件。现在,我这样处理:

save(Dataset_1, file = "Hypothesis1/Dataset1.RData")
save(Dataset_2, file = "Hypothesis1/Dataset2.RData")
save(Dataset_3, file = "Hypothesis1/Dataset3.RData")

这可行,但是我想使用for循环保存这些数据帧。我在想这样的事情:

for (i in 1:11){
  save(paste0("Dataset_",i), file = "paste0("Hypothesis1/Dataset",i, ".RData")" 
}

不幸的是,这似乎没有解决,有人知道为什么会这样吗?

M--

您需要在数据集的名称之外添加数据集的名称,save()因为它会评估第一个参数为字符或符号,并且不会对函数进行评估。

另外,您需要删除第二个引号,paste0并关闭save()看起来像错字的括号

for (i in 1:11){
    dbname <- paste0("Dataset_",i)
  save(dbname, file = paste0("Hypothesis1/Dataset",i, ".RData"))
}

更好的方法是使用apply函数,使用列出您的数据集名称ls,然后save使用list = ...参数将它们传递为字符

lapply(ls(pattern="Dataset[0-9]+"), function(x) save(list = x, file = paste0("Hypothesis1/",x,".RData")))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档