【问题标题】:R multi-file operationR多文件操作
【发布时间】:2019-02-25 20:34:41
【问题描述】:

首先我从 txt 文件中加载表格,然后对表格执行几个转换:

directory <- 'path'

setwd(directory)


data <- read.table("sample.txt", header=TRUE)

data2 <- data[,c(1,2,3,5,7,8)]

data2$cb <- paste(data2$c,data2$b,sep = ".")

finaldata <- data2[,c(7,1,2,3,4,5,6)]

问题是我有大约 100 个这样的 txt 文件,我需要自动化这个过程。

我首先列出这样的文件:

filenames <- list.files(path=getwd(),pattern = "*.txt")

但现在我不知道它应该如何工作。我应该在for循环中这样做还是有其他方法?

我是 R 新手,这是我的第一篇文章,所以我请求您的理解。

【问题讨论】:

  • 谷歌搜索“r 读取多个文件”会返回很多很多(而且很多!)的结果。从其中一个答案中尝试一些问题,如果遇到困难,请询问有关特定问题的问题。

标签: r data.table


【解决方案1】:
for (i in 1:length(filenames)) {

  data <- read.table(filenames[i], header=TRUE)

  ...


}

【讨论】:

  • 这是 lapply 而不是 for 循环的一个很好的用例,因为您可能希望结果位于可以操作的单个列表中
  • 我希望将结果另存为带有新名称或被覆盖的单独 txt 文件。
  • 您当然可以使用 for 循环获得所需的结果(请参阅 ?write.table)。您可能也有兴趣查看 R 函数的“应用”系列。
  • @Tetley:发布一个示例(两个或三个小文件)并描述您希望完成的任务,并注意撇号的正确大小写和位置。另外......我怀疑这是重复的,所以首先进行善意搜索并说出您的搜索方式以及哪些答案可能无法完全满足任何特殊要求。正如您已经看到的那样,未能描述这项工作的目标可能无法为您提供准确的答案。
猜你喜欢
  • 1970-01-01
  • 2021-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-03
  • 2015-04-27
  • 2016-04-06
相关资源
最近更新 更多