在R中,选择与矢量匹配的矩阵行

时间:2016-11-05 11:52:26

标签: r matrix vector

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 conditionsIn R, select rows of a matrix that meet a condition 但我认为在这种情况下情况有所不同。谢谢你的意见!

2 个答案:

答案 0 :(得分:1)

我可以建议whichapplyall函数的组合。

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