检查具有值的行是否属于R中的数据帧[重复]

问题描述

||                                                                                                                   这个问题已经在这里有了答案:                                                      

解决方法

        也许有更有效的方法,但我认为
tail(duplicated(rbind(masterdata,newvals)),1)
可以做到这一点:换句话说,将新行附加到数据框的末尾,看看是否重复。     ,        如果您只想比较data.frame中的两列,那么就可以了:
> which(df$a+df$b*1i == 1+4i)
[1] 1
这可能会或可能不会比其他向量化解决方案快。     ,        有很多方法可以做到这一点。您可以使用向量化解决方案vector2ѭ,如果满足条件,则为数据框的每一行返回一个布尔值。
> with(df,ifelse(a == 1 & b == 4,1,0))
[1] 1 0 0
由于您可能只想知道您的参数组合是否已全部运行,因此可以在前面的命令周围加上previous4ѭ:
> sum(with(df,0)))
[1] 1
另一种选择是使用
nrow()
subset()
。我们将再次使用
&
运算符进行测试:
> nrow(subset(df,a == 1 & b == 4))
[1] 1
    ,        您只需要一个唯一的通话即可:
Test<-data.frame(a=c(1,2,3),b=c(1,3,c=(1,3))
Test
unique(Test) #Same with duplicated rows removed