我有两个数据框,一列:originId
我的目标是从data
中删除originId
originId
等于filter
是否有一步法在R中执行此任务而不使用merge()
然后进行子集化?如果是这样,会是什么?
> dim(filter)
[1] 3790 1
> dim(data)
[1] 100110 1
> head(filter)
originId
454 359720489
1519 359720489
2584 359720489
3649 359720489
4714 359720489
7456 -5378234
> head(data)
originId
1 -5378234
2 -5357893
3 -5357892
4 -5355561
5 -5355558
6 -5355320
答案 0 :(得分:0)
data[!duplicated(data[data$originId,])]
答案 1 :(得分:0)
您可以尝试:
a <- c(1, 2, 1, 3, 4, 1)
b <- c(1, 5, 6)
a[ !a %in% b ]
[1] 2 3 4
a
对应于您的data
,b
是filter
向量。因此,必须在1
中过滤a
。您可以使用b
在a
的{{1}}中找到所有号码。输出是一个逻辑向量,由%in%
转换。输出是!
的子集,没有a
中的数字。
在您的情况下,您应键入:
b