Extremes {base}R Documentation

Maxima and Minima


Returns the (parallel) maxima and minima of the input values.


max(..., na.rm=FALSE)
min(..., na.rm=FALSE)

pmax(..., na.rm=FALSE)
pmin(..., na.rm=FALSE)


... numeric arguments.
na.rm a logical indicating whether missing values should be removed.


max and min return the maximum or minimum of all the values present in their arguments, as integer if all are integer, or as double otherwise.
The minimum and maximum of an empty set are +Inf and -Inf (in this order!) which ensures transitivity, e.g., min(x1, min(x2)) == min(x1,x2). In R versions before 1.5, min(integer(0)) == .Machine$integer.max, and analogously for max, preserving argument type, whereas from R version 1.5.0, max(x) == -Inf and min(x) == +Inf whenever length(x) == 0 (after removing missing values if requested).
If na.rm is FALSE an NA value in any of the arguments will cause a value of NA to be returned, otherwise NA values are ignored.
pmax and pmin take several vectors (or matrices) as arguments and return a single vector giving the “parallel” maxima (or minima) of the vectors. The first element of the result is the maximum (minimum) of the first elements of all the arguments, the second element of the result is the maximum (minimum) of the second elements of all the arguments and so on. Shorter vectors are recycled if necessary. If na.rm is FALSE, NA values in the input vectors will produce NA values in the output. If na.rm is TRUE, NA values are ignored. attributes (such as names or dim) are transferred from the first argument (if applicable).
max and min are generic functions: methods can be defined for them individually or via the Summary group generic.


Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

See Also

range (both min and max) and which.min (which.max) for the arg min, i.e., the location where an extreme value occurs.


 min(5:1, pi) #-> one number
pmin(5:1, pi) #->  5  numbers

x <- sort(rnorm(100));  cH <- 1.35
pmin(cH, quantile(x)) # no names
pmin(quantile(x), cH) # has names
plot(x, pmin(cH, pmax(-cH, x)), type='b', main= "Huber's function")

[Package base version 2.2.1 Index]