我可能有一个棘手的问题,因为我想知道是否有一种优雅的方法可以在R中解决它。
基本上我有一个文件夹,里面装满了不同的标签分隔的.txt文件。
每个文件都有"名称"在第一列和第三列中的重要数值。每个文件都包含相同的名称,它们只是在不同的行中。
所以我想知道,如果用一个很好的函数,我可以简化任务并让R生成一个数据框,在第一列中有名称(与顺序无关),在其他列中有所有第3列每个单个文件保存在同一文件夹中(文件名称作为列名)
我无法写出合适的东西,我只有一个合并功能,因为我无法创建一个循环,文件夹中的任何文件,它们都在一起处理。
答案 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"]
...
重复所有文件。
这应该足够了,假设所有第三列都是唯一数据,并且我对您的数据的假设是正确的。