【问题标题】:Data frame: loop over participants/observations and write column to text file数据框:循环参与者/观察并将列写入文本文件
【发布时间】:2017-06-08 17:09:23
【问题描述】:

我正在尝试遍历数据框中的参与者,然后将不同的列(文本)写入各个 .txt 文件,这样我最终会为每个参与者创建一个包含他们生成的所有文本的 .txt 文件(一个参与者可以有多个观察行!)

搜索stackoverflow,这是我目前所拥有的:

dataframe <- data.frame(part_id = rep(seq(1:3), 2), text = c("test1", 
"test2", "test3", "test4", "test5", "test6"))
dataframe <- dataframe %>% arrange(part_id)

for(i in dataframe$part_id) {
    subset[i] <- dataframe[dataframe$part_id == i,]$text
    write.table(i, paste(i, ".txt", sep=""), 
                col.names = FALSE, row.names = FALSE,  sep = "\t")
}

只要循环生成单独的文本文件 (.txt),它就可以工作,但它们不包含文本,而是包含 part_id。

欢迎任何帮助,非常感谢!

【问题讨论】:

  • 哦,是的,谢谢!完全忽略了这一点。

标签: r for-loop dataframe rows writefile


【解决方案1】:

因为在write.table(i, file_path) 中您正在将i(即part_id)写入文件,所以将其更改为write.table(subset[i], file_path) 即可。

【讨论】:

  • @Primesty 我使用的是write.table(dataframe[dataframe$part_id == i,]$text, paste(i, ".txt", sep=""), ...),它工作正常。
  • 啊,是的,刚刚意识到这一点。对不起!
  • @Maxwell 刚刚尝试了新建议,效果很好!!非常感谢!
  • @DavidArenburg 也非常感谢您的解决方案!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-14
  • 2019-11-10
  • 1970-01-01
相关资源
最近更新 更多