R:如果存在值,则搜索多个列,保留该行

时间:2015-07-01 23:43:51

标签: r

如果搜索每个第二列,如果在一行内,一列的值大于0.95,那么我想要做什么,然后保留它。基本上,保留的行必须具有至少一个> 0.95的列。 示例df:

     Id VALUE_Sample1 DetectionScore_Sample1 VALUE_Sample2 DetectionScore_Sample2
1 10265        -0.251                 0.8874       -0.1850                 0.2120
2 10265         0.560                 0.9989        0.6610                 0.9456
3 12346         0.874                 1.0000        0.7545                 0.9900 

所以我想通过'DecetionScore_'列查找任何大于0.95的值,以便返回上面的值。

     Id VALUE_Sample1 DetectionScore_Sample1 VALUE_Sample2 DetectionScore_Sample2
1 10265         0.560                 0.9989        0.6610                 0.9456
2 12346         0.874                 1.0000        0.7545                 0.9900 

我尝试的代码是

newdf<-df[df[,(seq(3,151,2)] >= 0.95,]  ## col 1 is IDs

我有什么想法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

df2 = df[which(apply(df[,seq(3,151,2)], 1, max) > 0.95),]