R 提取每行最小值的索引(不包括0)

R 提取每行最小值的索引(不包括0),r,R,我想提取列的索引号,其中[4,]行的值最低。但不应包括0。 例如,在这个给定的矩阵pos > pos [,1] [,2] [,3] [,4] [1,] 1 0 1 1 [2,] 2 0 1 1 [3,] 9 0 10 8 [4,] 11 0 13 11 我想要一个输出,比如 1 4 因为它们是11和最低值,或者我甚至可以选择1或4 which(pos[4,]==min(pos[4,pos[

我想提取列的索引号,其中
[4,]
行的值最低。但不应包括0。 例如,在这个给定的矩阵
pos

> pos
     [,1] [,2] [,3] [,4]
[1,]    1    0    1    1
[2,]    2    0    1    1
[3,]    9    0   10    8
[4,]   11    0   13   11
我想要一个输出,比如

1 4
因为它们是11和最低值,或者我甚至可以选择
1
4

which(pos[4,]==min(pos[4,pos[4,]!=0]))
不漂亮,但能完成。告诉您列号,其中第4行的值等于第4行的最小值(不包括该行的零)


不漂亮,但能完成。告诉您列号,其中第4行的值等于第4行的最小值,不包括该行的零。

我认为这非常接近。你只需要使用
which.min
而不是
min
作为索引。不
which.min
只给出@doviod的第一个真值吗?它可能重复,但这是OP发布的想要的输出。在她的例子中,她要求输出为
14
。“要么”的选择是一种妥协。(另外,我想知道哪门课程会把这个练习作为家庭作业……:)我想说这很接近。你只需要使用
which.min
而不是
min
作为索引。不
which.min
只给出@doviod的第一个真值吗?它可能重复,但这是OP发布的想要的输出。在她的例子中,她要求输出为
14
。“要么”的选择是一种妥协。(另外,我想知道哪门课把这个练习作为家庭作业……:)