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

问题描述 投票:0回答:1

我可能有一个困难的问题,因为我想知道是否有一种优雅的方法来解决它在R.

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

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

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

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

r
1个回答
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"]
...

重复所有文件。

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

© www.soinside.com 2019 - 2024. All rights reserved.