在R中我有两个数据集,一个包含所有数据,我们可以调用这个数据集LARGE,其中我们有一个标记为idnumber的列。另一个具有LARGE特定数据记录的数据集是一个简化版本,因为我制作的标准也有一个标记为idnumber的列。
我想要做的是从数据集'LARGE'我想从它中排除所有数据记录,这些记录具有与简化版本相同的idnumber。
这就是我所想到的:无与伦比的< - LARGE [其中(大量$ idnumber不是减少$ idnumber)]但我不知道如何在R中编码'not in'
答案 0 :(得分:1)
您正在描述反加入
library(dplyr)
LARGE <- data.frame(idnumber = 1:100, Y = rnorm(100))
reduced <- LARGE[sample(nrow(LARGE), 42),]
unmatched <- anti_join(LARGE, reduced)
使用&#34;而不是&#34;二进制函数一般来说,你可以应用以下函数:
`%notin%` <- function(x,y) !(x %in% y)
3 %notin% c(3,5)
# [1] FALSE
答案 1 :(得分:0)
关注Coles回答,谷歌&#34; R不在运营商&#34;
最简单的方法:
data [!(data %in% large$idnubmer),]
所以%in%会找到匹配的所有情况。的!在开始时否定&#39;那... ..:找到他们不在的地方。