这是我关于stackoverflow的第一个问题, 在这里。
我的数据框看起来像 -
data.frame1<- data.frame("ID" = c(1,2,3,4,5), "Col1" = c(1,4,12,15,6), "Col2"= c(3,6,2,4,1))
然后我有两个值
Value1 <- 4
Value2 <- 6
我想为(col1,col2)中的每一对检查(value1,value2)以查看是否存在匹配。
如果匹配,我想返回ID号,所以在示例中 - 它将返回2,如果没有匹配,我希望它返回NA。
提前致谢!
答案 0 :(得分:0)
您可以使用which
:
with(data.frame1, ifelse(idx <- Col1 == Value1 & Col2 == Value2, which(idx), NA))
# [1] NA 2 NA NA NA
或者,如果您只想返回匹配的索引:
with(data.frame1, which(Col1 == Value1 & Col2 == Value2))
# [1] 2