我在 R 中有两列数据(比如id
和master_id
)。应该是所有值都id
应该出现在master_id
. 但是,我怀疑情况并非如此,我想确定哪些是错误值。我不能只检查数据,因为我正在处理 100k 数量级的数据。
如何找到错误的值?
我在 R 中有两列数据(比如id
和master_id
)。应该是所有值都id
应该出现在master_id
. 但是,我怀疑情况并非如此,我想确定哪些是错误值。我不能只检查数据,因为我正在处理 100k 数量级的数据。
如何找到错误的值?
%in% 函数可能会派上用场。对于第一组但不是第二组的情况,它将抛出 FALSE
例如
DF$master_id %in% DF$id
id 是 master_id 的子集,因此没有对应的 master_id 值将获得 FALSE
或者,看看它是如何运行的(来自 R 帮助文件)
1:10 %in% c(1,3,5,9)
library(data.table)
DF1<-data.frame(x=1:3,y=4:6,t=10:12)
DF2<-data.frame(x=3:5,y=6:8,s=1:3)
library(data.table)
DF1 <- data.table(DF1, key = c("x", "y"))
DF2 <- data.table(DF2, key = c("x", "y"))
DF1[!DF2] # maybe you want this?
DF2[!DF1] # or maybe you want this?