从一个表中删除行,其中列中的字段与不同表中的同一列的字段匹配

时间:2014-12-08 14:20:17

标签: r merge dataframe

您好我有两个数据帧(分别称为table1和table2):

ID    MONTH
--    -----

1     Jan  
2     May
3     May          
4     Jan


ID     TEST1   GNDR  
--     -----   ----   

1      90      M  
2      80      M  
3      70      F  

我想从table1中删除ID与table2中的ID匹配的任何行,以便我留下:

ID    MONTH
--    -----   

4     Jan      

我只想说明table2中的ID与table1中的ID匹配,删除与这些ID相关的所有行。

我可以使用merge()函数来获取使用

的ID常见的行
merge(table1,table2,by="ID") 

并将结果存储在数据框中,但我不知道如何根据merge命令的结果从table1中删除行。

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:2)

您可以使用%in%

df1[!df1$ID %in% df2$ID,]
#  ID MONTH
#4  4   Jan