Skip to contents

Obtain the Maximum or Minimum n elements from a vector.

Usage

max_n(x, n = 1L)

min_n(x, n = 1)

Arguments

x

Data vector

n

Number of observations to select

Value

A vector containing the maximum/minimum of \(n\) elements.

Details

The underlying function sorts the data using base::sort() and then extracts out the appropriate n-back or n-forward values.

As a result of the sorting procedure, this is an inefficient function.

Examples


x = 1:10

# Defaults to traditional max
# This is more costly to compute than using the regular max function.
max_n(x) 
#> [1] 10

# Retrieve top two observations (highest first)
max_n(x, 2)
#> [1] 10  9

# Missing values have no effect on the sorting procedure
x[9] = NA
max_n(x, 3)
#> [1] 10  8  7

# Defaults to traditional min.
# This is more costly to compute than using the regular min function.
min_n(x)
#> [1] 1
min(x)
#> [1] NA

# Retrieve bottom two observations (lowest first)
min_n(x, 2)
#> [1] 1 2

# Missing values have no effect on the sorting procedure
x[2] = NA
min_n(x, 3)
#> [1] 1 3 4