返回向量中最小值的索引?
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))