我简化了两个数据框架:
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中?
答案 0 :(得分:0)
可以使用 merge 或内部联接来解决。这是不同的方法:
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]