r - 如何在 R 中的每个文件上应用此函数?

标签 r

我有名为P1.txt P2.txt ........P100.txt的文件。 我想对每个文件应用以下函数:

temp <- P1.txt
colnames(temp) <- c("a","b")
temp <- aggregate(count~a+b,transform(temp,a=pmin(a,b), b=pmax(a,b), count=1),sum)
colnames(temp) <- c("V1","V2","V3")
P1.txt <- temp

如何对每个文件自动执行此操作? 我能够想出 `paste0("P",i,".txt"),其中 i 的范围从 1 到 100,但我不知道如何再次分配它?谢谢!

编辑:各个文件是最初包含两列和 1000 行的数据帧。 示例:(P1.txt)

1 2
3 4
4 2
4 5
....

最佳答案

这是一种方法。

# generate list of files
files <- list.files(pattern = "^P\\d+\\.txt$")

for (file in files) {
  temp <- read.table(file)
  colnames(temp) <- c("a", "b")
  temp <- aggregate(count ~ a + b,
                    transform(temp, a = pmin(a, b), b = pmax(a, b), count = 1), 
                    sum)
  colnames(temp) <- c("V1", "V2", "V3")
  write.table(temp, file, row.names = FALSE)
}

关于r - 如何在 R 中的每个文件上应用此函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26200682/

相关文章:

r - 暂时禁用 ggplot() 中已经定义的美学

python - 跨 DataFrame 减去日期

r - 循环遍历矩阵的对角线+1

r - 根据与字典中任何术语的匹配创建二进制是/否动物变量,R 中的 "animal"

r - 使用嵌入式图形创建 R 表

r - 用日期扩展 x 轴

r - 通过删除 R 中的 NA 组合多于 2 列

r - ggplot2 - 多图缩放

r - 多面ggplot中轴文本的条件格式

r - 自动计算数据框的汇总统计数据并创建新表