base (version 3.6.2)

range: Range of Values


range returns a vector containing the minimum and maximum of all the given arguments.


range(…, na.rm = FALSE)

# S3 method for default range(…, na.rm = FALSE, finite = FALSE)


any numeric or character objects.


logical, indicating if NA's should be omitted.


logical, indicating if all non-finite elements should be omitted.

S4 methods

This is part of the S4 Summary group generic. Methods for it must use the signature x, …, na.rm.


range is a generic function: methods can be defined for it directly or via the Summary group generic. For this to work properly, the arguments should be unnamed, and dispatch is on the first argument.

If na.rm is FALSE, NA and NaN values in any of the arguments will cause NA values to be returned, otherwise NA values are ignored.

If finite is TRUE, the minimum and maximum of all finite values is computed, i.e., finite = TRUE includes na.rm = TRUE.

A special situation occurs when there is no (after omission of NAs) nonempty argument left, see min.


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

See Also

min, max.

The extendrange() utility in package grDevices.


Run this code
(r.x <- range(stats::rnorm(100)))
diff(r.x) # the SAMPLE range

x <- c(NA, 1:3, -1:1/0); x
range(x, na.rm = TRUE)
range(x, finite = TRUE)
# }

Run the code above in your browser using DataLab