remove_outliers() removes outliers from a numeric vector using either the
interquartile range (IQR) method or the standard deviation (SD) method.
Arguments
- x
A
numericvector from which to remove outliers.- method
(optional) A
characterstring specifying the outlier detection method. Must be either"iqr"for interquartile range method or"sd"for standard deviation method (Default:"iqr").- iqr_mult
(optional) A
numericmultiplier for the IQR threshold (Default:1.5).- sd_mult
(optional) A
numericmultiplier for the standard deviation threshold (Default:3).
Value
A numeric vector with outliers removed.
Details
When using the "iqr" method, values are considered outliers if they are
below Q1 - (iqr_mult * IQR) or above Q3 + (iqr_mult * IQR), where Q1
is the first quartile, Q3 is the third quartile, and IQR is the
interquartile range.
When using the "sd" method, values are considered outliers if they are
below mean - (sd_mult * SD) or above mean + (sd_mult * SD), where SD
is the standard deviation.
See also
Other statistical functions:
cut_interval_mean(),
prop(),
std_error(),
test_outlier()
Examples
remove_outliers(c(1, 2, 3, 4, 5), method = "iqr")
#> [1] 1 2 3 4 5
#> [1] 1 2 3 4 5 # Expected
remove_outliers(c(1, 2, 3, 4, 10), method = "iqr")
#> [1] 1 2 3 4
#> [1] 1 2 3 4 # Expected
remove_outliers(c(1, 5, 6, 7, 10), method = "iqr", iqr_mult = 1)
#> [1] 5 6 7
#> [1] 5 6 7 # Expected
remove_outliers(c(1, 2, 3, 4, 5), method = "sd", sd_mult = 1)
#> [1] 2 3 4
#> [1] 2 3 4 # Expected
remove_outliers(c(1, 2, 3, 4, 100), method = "sd", sd_mult = 1)
#> [1] 1 2 3 4
#> [1] 1 2 3 4 # Expected
