我正在尝试使用下面的代码将R环境中的所有数据集导出到单独的csv文件中。
出于某种原因,导出的数据集为空。
files <- ls()
pattern <- ".csv"
for (i in 1:length(files)) {
write.csv(files[i], paste(files[i], pattern, sep = ""))
}
答案 0 :(得分:2)
这里的问题是ls()
返回环境中对象的名称,而不是对象本身。这意味着您的循环正在尝试将单个字符串导出为csv文件。
要解决此问题,您需要使用mget()
,如下所示:
files <- mget(ls())
for (i in 1:length(files)){
write.csv(files[[i]], paste(names(files[i]), ".csv", sep = ""))
}
注意:您需要注意正确使用[[i]]
和[i]
。