将第一列合并到同一文件夹中的多个文件

时间:2018-03-02 21:09:25

标签: r

我可能有一个棘手的问题,因为我想知道是否有一种优雅的方法可以在R中解决它。

基本上我有一个文件夹,里面装满了不同的标签分隔的.txt文件。

每个文件都有"名称"在第一列和第三列中的重要数值。每个文件都包含相同的名称,它们只是在不同的行中。

所以我想知道,如果用一个很好的函数,我可以简化任务并让R生成一个数据框,在第一列中有名称(与顺序无关),在其他列中有所有第3列每个单个文件保存在同一文件夹中(文件名称作为列名)

我无法写出合适的东西,我只有一个合并功能,因为我无法创建一个循环,文件夹中的任何文件,它们都在一起处理。

1 个答案:

答案 0 :(得分:0)

所以你只需要名称列和第3列?

使用data.table:

library(data.table)
dt1 <- fread("text1.txt")[, c(1, 3)]
dt2 <- fread("text2.txt")[, c(1, 3)]
...

对所有txt文件重复,然后:

dt <- dt1[dt2, on = "name"]
dt <- dt[dt3, on = "name"]
...

重复所有文件。

这应该足够了,假设所有第三列都是唯一数据,并且我对您的数据的假设是正确的。