我有一个List L,其中每个项目都是一个数据框。我现在想要将每个项目保存在单独的csv中。我尝试了以下代码,但它没有通过。
for i in length(list) {
write.csv(to.data.frame(list[i]), 'list_item_number_@{i}')
}
答案 0 :(得分:0)
我首先将您的for
循环序列放入括号中,这意味着
for i in length(list)
应为for(i in 1:length(list))
。
接下来,to.data.frame(list[i])
存在问题,因为您在列表上操作。所以这应该是to.data.frame(list[[i]])
第三,to.data.frame()
是什么?我想你的意思是as.data.frame()
。无论哪种方式,你可能都不需要它。
另外,我不太确定您使用'list_item_number_@{i}'
做了什么,但是您应该创建与列表元素一样多的文件,并在循环中为每个文件分配[i]
。如果列表的长度是3,那就是这样的东西。
files <- c("f1.csv", "f2.csv", "f3.csv")
for(i in 1:length(list)){
write.csv(list[[i]], file = files[i], row.names = FALSE)
}
你也可能想要row.names = FALSE
,以避免头痛。
... 但更多 R 方式可以使用 lapply
lapply(seq_along(list), function(i){
write.csv(list[[i]], files[i], row.names = FALSE)
})
将返回NULL
的列表,可以通过使用invisible()