r语言,限定条件找矩阵下标。

初学R语言遇到了不会用r语言表达的代码。

具体问题简化为比如:一个n行两列的矩阵M,第一列是一系列实数,第二列的数只取1或-1。如何找到使对应第二列值为1的行中第一列值最大的数的下标?

即:找到下标m,使得M[m,1]是满足M[m,2]==1中最大的一个数?

查资料大致思路是用which,里面用&连接两个条件?具体应该怎么表达呢?新人诚心求教。

> M
     [,1] [,2]
[1,]    3   -1
[2,]    2    1
[3,]    1    1
> which(M[,1]==max(M[M[,2]==1,1]))
[1] 2

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-23
m<-which(M[,2]==1 & M[,1]==max(M[M[,2]==1,1]))
相似回答