Índice del primer mínimo o máximo de un vector en R con which.max y which.min

Introducción a R Exploración de estructuras
Las funciones which.min y which.max en R

Las funciones which.max y which.min son funciones básicas de R que devuelven el índice del primer valor mínimo o máximo de un vector numérico o lógico, descartando valores faltantes y NaN.

La función which.max

Para obtener el índice del valor máximo de un vector numérico se puede introducir dicho vector en la función which.max y ésta devolverá dicho índice.

x <- c(10, 23, 125, 20, 1)

# ¿Cuál es la posición del mayor valor?
which.max(x)
3

Ten en cuenta que esta función también puede utilizarse con un vector booleano. En este caso, la función devolverá el índice del primer TRUE.

y <- c(FALSE, TRUE, TRUE, FALSE)

# ¿Cuál es la posición del primer TRUE?
which.max(y)
2

Devolver el máximo

Como la función devuelve un índice, también puedes obtener el valor máximo indexando la salida al vector original, como se muestra en el siguiente ejemplo. Ten en cuenta que también podrías hacer uso de la función max para obtener el valor máximo.

x <- c(10, 23, 125, 20, 1)

m <- which.max(x)
x[m]
125

La función which.min

Si en lugar del índice del máximo quieres obtener el índice del valor mínimo de un vector tendrás que utilizar la función which.min.

x <- c(10, 23, 125, 20, 1)

# ¿Cuál es la posición del varlo mínimo?
which.min(x)
5

En este caso, si el vector es booleano, la función devolverá el índice del primer FALSE.

y <- c(FALSE, TRUE, TRUE, FALSE)

# ¿Cuál es la posición del primer FALSE?
which.min(y)
1

Devolver el mínimo

Si quieres devolver el valor mínimo, puedes indexar el vector como en el ejemplo siguiente. Recuerda que la función min devolverá el mismo resultado.

x <- c(10, 23, 125, 20, 1)

m <- which.min(x)
x[m]
1