當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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 ?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。