r - 加入两个数据框并消除重复项
问题描述
我有一个数据框,第一列称为 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
谢谢
解决方案
您可以使用它%in%
来检查每个id
indf1
是否在 中df2$id
,以及df1
基于否定的子集:
df1[!(df1$id %in% df2$id), ]
#> id dive_type
#> 3 3 NF
#> 4 4 F
#> 6 6 F
#> 7 7 NF
推荐阅读
- python - 使用子程序时“未定义”
- javascript - 在哪里声明一个函数来优化 ES6 类的使用
- mysql - SQL:跨多个表查找产品价格的平均涨幅?
- unit-testing - 带有复制命令和相对路径的 Dockerfile
- scala - 使用递归尾在Scala中从末尾查找第N个元素
- multithreading - F# / MailBoxProcessor 在接近 100% 的负载下对 PostAndReply 没有响应
- r - 为什么 xts 或 quantmod 每个星期一都编码为 1?
- django-oscar - 如何在 django-oscar 通知系统中自定义通知消息
- php - 使用前缀设置动态会话变量(数组)并使用 foreach 循环
- javascript - 如何为 fetchData 中的状态变量赋值?