R 连接两个数据帧并消除重复

R 连接两个数据帧并消除重复,r,dataframe,join,merge,duplicates,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

我有一个数据帧,第一列称为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 
我的目标是删除df1中存在于df2中的所有id(在本例中,id为1、2、5和8),并得到如下结果:

> res

id  dive_type
 3         NF
 4          F
 6          F
 7         NF

谢谢

您可以使用%中的
%来检查
df1
中的每个
id
是否在
df2$id
中,并基于该项的否定来检查子集
df1

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

您可以使用%
中的
%来检查
df1
中的每个
id
是否在
df2$id
中,并基于该项的否定来检查子集
df1

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

如果使问题具有可再现性,则更容易提供帮助:以对象的形式包含最小数据集,例如,如果将数据框作为df,则更容易提供帮助如果使问题具有可再现性:以对象的形式包含最小数据集,例如,如果将数据框作为df