根据另一个数据框中存在的值过滤数据集

时间:2019-04-25 17:17:50

标签: r

我简化了两个数据框架:

a = data.frame(ID = c("1", "2", "3", "4", "5"))
b = data.frame(ID = c("1", "1", "6", "7", "8", "8", "3"))

如何过滤具有a中匹配值的数据帧b,以便b中仅保留1:5的值?所以只有1、1和3会留在b中?

1 个答案:

答案 0 :(得分:0)

可以使用 merge 内部联接来解决。这是不同的方法:

基本R

merge(a, b)
  ID
1  1
2  1
3  3

dplyr

library(dplyr)
inner_join(a, b)

data.table

library(data.table)
setDT(a)[setDT(b), on = "ID", nomatch = 0L]