我有一个数据框,第一列称为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
谢谢
答案 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