连接两个数据框并消除重复项

时间:2020-07-07 16:02:34

标签: r dataframe join merge duplicates

我有一个数据框,第一列称为id(1、2、3、4、5等),对应于下潜。 另一列指定潜水类型,可以是F和NF。

我还有另一个数据框,其中包含所有可疑且应从分析中消除的NF潜水的ID。

如何消除第二个数据帧中包含ID的第一个数据帧中的行?

示例:

> df1

id  dive_type
 1          F
 2          F
 3         NF
 4          F
 5          F
 6          F
 7         NF
 8          F 

> df2

id  dive_type
 1          F
 2          F
 5          F
 8          F 

我的目标是删除df2中存在的df1中的所有ID(在本例中为ID的1、2、5和8),并得到如下内容:

> res

id  dive_type
 3         NF
 4          F
 6          F
 7         NF

谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用%in%来检查id中的每个df1是否在df2$id中,并根据其取反来检查子集df1

df1[!(df1$id %in% df2$id), ]
#>   id dive_type
#> 3  3        NF
#> 4  4         F
#> 6  6         F
#> 7  7        NF