2

我有一个包含 4951 个命名元素的大列表。这些元素中的每一个基本上都是字母(也就是说,它们是字符串字符)。我想做的是将列表中的每个元素导出为一个单独的文本文件,文件的名称与其在列表中的名称相对应。

我所拥有的一个简单版本是这样的:

 letter1 <- c("here is some text")
 letter2 <- c("and here is some more text")
 letter3 <- c("and this is the final one")

 list <- list(letter1 = letter1, letter2 = letter2, letter3 = letter3)

我想拥有以下内容:

letter1.txt,内容是“这里有一些文字”
letter2.txt,内容是“还有一些文字”
letter3.txt,内容是“这是最后一个”

我想我应该使用一个循环。但是,我不知道如何超越这一点:

for (i in 1:length(list)){

}
4

2 回答 2

6

for (i in 1:length(list)) { write.csv(list[i], file=paste0(names(list)[i], ".txt")) }

编辑

如果需要函数中的输出目录:

 write.csv(list[i], file=paste0("output/", names(list)[i], ".txt"))
于 2015-05-12T12:44:09.033 回答
3

尝试这个:

filenames <- names(list)
for (i in 1:length(list)){
  outname <- paste("c:/testFolder/", filenames[i], ".txt", sep= "")
  write.table(list[[i]], outname, col.names= F, row.names= F, quote= F)
}
于 2015-05-12T12:45:44.970 回答