我想使用分位数和 1.5*IQR 确定数据框中的异常值。我使用了箱线图函数,并将得到的异常值与使用分位数和 iqr 计算的异常值进行了比较。
我注意到这两种方法之间的区别。箱线图方法检测到的异常值少于 Q1-1.5*IQR、Q3+1.5*IQR 计算。我尝试将range
in boxplot 设置为 1.5,但它仍然检测到较少的异常值。range 是要设置的正确 boxplot 选项还是我需要设置的另一个选项?
任何帮助是极大的赞赏。
x <- c(-8.4849, -8.4848, -8.8485, -8.4848, -8.4848, -8.4848, -8.7879, -8.4848,
-8.4849, -8.6061, -8.3838, -8.2424, -8.4849, -8.3636, -8.2424, -8.7273)
qnt = quantile(x, probs=c(.25, .75))
iqt = 1.5 * IQR(x)
x[x < (qnt[1] - iqt)]
[1] -8.8485 -8.7879 -8.6061 -8.7273
x[x > (qnt[2] + iqt)]
[1] -8.2424 -8.3636 -8.2424
boxplot(x, range = 1.5)$out
[1] -8.8485 -8.7879 -8.2424 -8.2424 -8.7273