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