【问题标题】:remove rows from one table, where a field in a column matches that of same column in different table从一个表中删除行,其中列中的字段与不同表中同一列的字段匹配
【发布时间】:2014-12-08 14:20:16
【问题描述】:

您好,我有两个数据框(分别称为 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") 

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

任何帮助都会很棒。

【问题讨论】:

  • 试试table1[!table1$ID %in% table2$ID,]
  • 看看here 或您选择的其他教程。

标签: r merge dataframe


【解决方案1】:

您可以使用%in%

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-02
    • 1970-01-01
    相关资源
    最近更新 更多