返回向量中最小值的索引?

a <- c(1, 2, 0, 3, 7) 

我正在寻找一个函数来返回最小值的索引,3.这是什么?

你正在寻找which.min()

 a <- c(1,2,0,3,7,0,0,0) which.min(a) # [1] 3 which(a == min(a)) # [1] 3 6 7 8 

(从上面可以看出,当几个元素绑定到最小值时, which.min()只返回第一个元素的索引,如果你想要所有匹配的元素的索引,可以使用第二个构造最小值)。

作为乔希的答案的替代

 a <- c(1, 2, 0, 3, 7) which(a == min(a)) 

这给每个等于最小值的索引。 所以,如果我们有不止一个值匹配最低值

 a <- c(1, 2, 0, 3, 7, 0) which(a == min(a)) # returns both 3 and 6 which.min(a) # returns just 3 

编辑:如果你正在寻找的是有多less元素等于最小值(就像你在其中一个注释中所暗示的那样),你可以这样做:

 a <- c(1, 2, 0, 3, 7, 0) sum(a == min(a))