Detects outliers in a numeric vector using the standard boxplot rule (outside 1.5 times the IQR from the 1st and 3rd quartiles). Handles missing values (NA) automatically.
Value
If rpt = FALSE
, returns a logical vector indicating outliers. If rpt = TRUE
, returns a numeric vector of length 2 giving lower and upper limits for outlier detection
Examples
set.seed(1)
vals <- c(rnorm(100), 10, -10)
outlier(vals)
#> [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [25] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [37] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [49] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [61] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [73] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [85] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [97] FALSE FALSE FALSE FALSE TRUE TRUE
outlier(vals, rpt = TRUE)
#> lower upper
#> -2.358805 2.527535