这是使用的几个选项merge
:
merge(list(X1=0,X2=1,X3=1), dat)
#or
merge(setNames(list(0,1,1),c("X1","X2","X3")), dat)
或者甚至根据您想要匹配的列使用位置索引:
L <- list(0,1,1)
merge(L, dat, by.x=seq_along(L), by.y=2:4)
所有这些都返回:
# X1 X2 X3 Time
#1 0 1 1 6
如果您的匹配变量都是同一类型,您也可以通过矩阵比较安全地完成此操作,例如:
dat[colSums(t(dat[c("X1","X2","X3")]) == c(0,1,1)) == 3,]