R: Index of the Minimum/Maximum Value, with Correction for Ties

which_min {mlr3misc} | R Documentation

## Index of the Minimum/Maximum Value, with Correction for Ties

### Description

Works similar to `base::which.min()`/`base::which.max()`, but corrects for ties. Missing values are treated as `Inf` for `which_min` and as `-Inf` for `which_max()`.

### Usage

    which_min(x, ties_method = "random", na_rm = FALSE)

    which_max(x, ties_method = "random", na_rm = FALSE)

### Arguments

`x` | (`numeric()`) Numeric vector.
`ties_method` | (`character(1)`) Handling of ties. One of "first", "last" or "random" (default) to return the first index, the last index, or a random index of the minimum/maximum values.
`na_rm` | (`logical(1)`) Remove NAs before computation?

### Value

(`integer()`): Index of the minimum/maximum value. Returns an empty integer vector for empty input vectors and vectors with no non-missing values (if `na_rm` is `TRUE`). Returns `NA` if `na_rm` is `FALSE` and at least one `NA` is found in `x`.

### Examples

    x = c(2, 3, 1, 3, 5, 1, 1)
    which_min(x, ties_method = "first")
    which_min(x, ties_method = "last")
    which_min(x, ties_method = "random")

    which_max(x)
    which_max(integer(0))
    which_max(NA)
    which_max(c(NA, 1))

[Package mlr3misc version 0.10.0 Index]