R - 如何检索具有多列匹配条件的记录

时间:2018-04-11 18:07:23

标签: r dataframe

输入:

V1 V2 V3 V4 V5  
1  2  3  4  4  
2  3  4  5  6   
1  4  3  5  7  
3  4  5  6  7  

所需输出:匹配列条件使用V1和V3

V1 V2 V3 V4 V5  
1  2  3  4  4  
1  4  3  5  7  

使用的代码:df [(df $ V1> 1& df $ V2> 1),]

以上使用的代码适用于小数据,其中输出的数据不正确。

请建议。

2 个答案:

答案 0 :(得分:0)

使用dplyr来实现相同的目标:

library(dplyr)
df %>%
    filter(V1 > 1 & V2 > 1)

但如果没有更多关于出了什么问题的信息,这可能无法解决。

答案 1 :(得分:0)

是否要查找第一列和第三列中具有相同条目对的所有行?

这可以通过以下方式实现:

someLines <- df[which(duplicated(df[, c(1,3)]) | duplicated(df[, c(1,3)], fromLast = TRUE)),]

或者,如果您只想要索引:

which(duplicated(df[, c(1,3)]) | duplicated(df[, c(1,3)], fromLast = TRUE))