基于两个变量(一个匹配,一个比较)合并r中不同长度的文件



我有两个文件要合并。第一个文件有几个变量;两个重要的是ID和END。ID不是一行唯一的;多个行可以具有相同的id。第二个文件有两个变量,id和START。在这个文件中,每个id都是唯一的——没有具有相同id的行。

我想创建第三个文件。我想保留第一个文件中ID与第二个文件中的一个ID匹配的行,其中第一个文件的END小于第二个档案的START。我只想保留第一个文件中符合条件的行。我不想保留第二个文件中的START值。我也不想保留与ID不匹配且不具有END<启动。

FILE 1  
ID    END       
1     333            
2     555           
3     789           
4     234

File 2
ID     START
 1       432
 2       777  
 3       444

New FILE
ID    END
1     333
2     555

感谢您的帮助。

假设file3是您想要的最后一个文件:

file3 = merge(file1, file2, by = "ID")
file3 = file3[file3$END < file3$START, c("ID","END")]

假设文件1有df1,文件2有df2,并且您想为最后一个输出设置df3

rows <- df1$Id %in% df2$ID
df3 <- df1[rows]
df3 <- df1[df1$End > df2$End]

相关内容

  • 没有找到相关文章

最新更新