[英]function to find common rows between more than two data frames in R
我有4个数据框,并且想查找在任何其他数据框中都不存在某个列中的值的行。 我写了这个函数:
#function to test presence of $Name in 3 other datasets
common <- function(a, b, c, d) {
is.B <- is.numeric(a$Name %in% b$Name) == 1
is.C <- is.numeric(a$Name %in% c$Name) == 1
is.D <- is.numeric(a$Name %in% d$Name) == 1
t <- as.numeric(is.B & is.C & is.D)
t
}
但是,输出始终为t =0。这意味着它告诉我,即使数据帧具有非常不同的行数,任何数据集中也没有唯一的行。 由于任何数据帧中都没有重复的行,因此对于最大数据集中的至少某些行,我应该得到t = 1。 有人可以找出我做错了什么吗?
改写:
common <- function(a, b, c, d)
{
Name <- a$Name
inB <- Name %in% b$Name
inC <- Name %in% c$Name
inD <- Name %in% d$Name
which(!(inB | inC | inD))
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.