当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R which.min Min() 或 Max() 或第一个 TRUE 或 FALSE 在哪里?


R语言 which.min 位于 base 包(package)。

说明

确定位置,即数字(或逻辑)向量的(第一个)最小值或最大值的索引。

用法

which.min(x)
which.max(x)

参数

x

数值(逻辑、整数或双精度)向量或R内部强制的对象double其作品min或者max被搜索。

丢失的值和 NaN 值将被丢弃。

integer 或在 64 位平台上,如果 length(x) =: n 为长度为 1 或 0 的值为 double 的整数(当且仅当 x 没有非 NA 时),给出第一个的索引分别为 x 的最小值或最大值。

如果该极值是唯一的(或为空),则结果分别与 which(x == min(x, na.rm = TRUE))which(x == max(x, na.rm = TRUE)) 相同(但效率更高)。

逻辑 x - 第一个 TRUEFALSE

对于同时具有 FALSETRUE 值的 logical 向量 x,当 FALSE < TRUE 时,which.min(x)which.max(x) 分别返回第一个 FALSETRUE 的索引。然而,match(FALSE, x)match(TRUE, x) 通常是首选,因为它们确实表示不匹配。

例子

x <- c(1:4, 0:5, 11)
which.min(x)
which.max(x)

## it *does* work with NA's present, by discarding them:
presidents[1:30]
range(presidents, na.rm = TRUE)
which.min(presidents) # 28
which.max(presidents) #  2

## Find the first occurrence, i.e. the first TRUE, if there is at least one:
x <- rpois(10000, lambda = 10); x[sample.int(50, 20)] <- NA
## where is the first value >= 20 ?
which.max(x >= 20)

## Also works for lists (which can be coerced to numeric vectors):
which.min(list(A = 7, pi = pi)) ##  ->  c(pi = 2L)

作者

Martin Maechler

也可以看看

whichmax.colmax

如果您需要数组/矩阵索引而不是一维向量索引,请使用 arrayInd()

nnet 包中的 which.is.max 的不同之处在于随机打破平局(并在平局定义中具有 ‘fuzz’)。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Where is the Min() or Max() or first TRUE or FALSE ?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。