【问题标题】:Export separate texts files from list in R从 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)){

}

【问题讨论】:

    标签: r loops export-to-text


    【解决方案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)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-17
      • 2023-03-04
      • 2013-02-24
      • 2012-03-11
      • 1970-01-01
      • 2011-09-29
      • 2020-09-26
      • 1970-01-01
      相关资源
      最近更新 更多