R初学者在这里,需要你的帮助。假设我们有一个像这样的矩阵:
1 2 3
1 1 0 0
2 0 1 0
3 0 0 1
4 1 1 0
5 1 0 1
6 0 1 1
7 1 1 1
接下来我们有一个特定的向量f.e. (1,0,1),将匹配第5行。 什么是从给定该向量的矩阵得到索引5的最佳方法? 我已经读完了这些问题 R - fastest way to select the rows of a matrix that satisfy multiple conditions 和 In R, select rows of a matrix that meet a condition 但我认为在这种情况下情况有所不同。谢谢你的意见!
答案 0 :(得分:1)
我可以建议which
,apply
和all
函数的组合。
m <- matrix(c(1,0,0,0,1,0,0,0,1,1,1,0,1,0,1,0,1,1,1,1,1), 7, byrow=TRUE)
which(apply(m, 1, function(x) return(all(x == c(1,0,1)))))
[1] 5
答案 1 :(得分:0)
我们可以使用rowSums
which(rowSums(m1 == rep(c(1,0,1), each = nrow(m1)))==3)
#5
#5