使用 for 循环将数据帧保存为 .Rdata 文件
Saving dataframes as .Rdata files using a for loop
我正在尝试将一堆数据帧保存为 .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")"
}
不幸的是,这似乎行不通,有人知道为什么会这样吗?
您需要在 save()
之外创建数据集的名称,因为它会将第一个参数评估为字符或符号,并且不会评估函数。
此外,您需要去掉第二个 paste0
周围的引号并关闭 save()
的括号,这看起来像是打字错误。
for (i in 1:11){
dbname <- paste0("Dataset_",i)
save(dbname, file = paste0("Hypothesis1/Dataset",i, ".RData"))
}
更好的方法是使用 apply
函数,使用 ls
列出您的数据集名称,并使用 list = ...
参数将它们作为字符传递给 save
。
lapply(ls(pattern="Dataset[0-9]+"), function(x) save(list = x, file = paste0("Hypothesis1/",x,".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")"
}
不幸的是,这似乎行不通,有人知道为什么会这样吗?
您需要在 save()
之外创建数据集的名称,因为它会将第一个参数评估为字符或符号,并且不会评估函数。
此外,您需要去掉第二个 paste0
周围的引号并关闭 save()
的括号,这看起来像是打字错误。
for (i in 1:11){
dbname <- paste0("Dataset_",i)
save(dbname, file = paste0("Hypothesis1/Dataset",i, ".RData"))
}
更好的方法是使用 apply
函数,使用 ls
列出您的数据集名称,并使用 list = ...
参数将它们作为字符传递给 save
。
lapply(ls(pattern="Dataset[0-9]+"), function(x) save(list = x, file = paste0("Hypothesis1/",x,".RData")))