从 R 中的列表中导出单独的文本文件
Posted
技术标签:
【中文标题】从 R 中的列表中导出单独的文本文件【英文标题】:Export separate texts files from list in R 【发布时间】:2015-05-12 12:32:25 【问题描述】:我有一个包含 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,内容为“and this is final one”
我想我应该使用循环。但是,我不知道如何超越这一点:
for (i in 1:length(list))
【问题讨论】:
【参考方案1】: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"))
【讨论】:
太棒了。抱歉,但我忘了在output/
子目录中添加需要它。
只需将 output/ 目录粘贴到输出文件名的开头
或 setwd()
在所有之前。
谢谢。我以为这是我必须做的,但我的语法错误。
我还将粘贴功能编辑为paste0
。将所有内容放在一起,没有空格。【参考方案2】:
试试这个:
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)
【讨论】:
以上是关于从 R 中的列表中导出单独的文本文件的主要内容,如果未能解决你的问题,请参考以下文章
R语言使用read_table函数读取文本文件或者文本数据生成dataframe数据集从分隔文本文件中导入数据(Importing data from a delimited text file)