我一直试图用上面和下面的分位数用以下代码替换异常值1.5 * IQR +/-上/下分位数:
`lower.quantile <- as.numeric(summary(loans$dINC_A)[2])
lower.quantile
[1] 9000
upper.quantile <- as.numeric(summary(loans$dINC_A)[5])
> upper.quantile
[1] 21240
IQR <- upper.quantile - lower.quantile
# I replace outliers by the lower/upper bound values
loans$INC_A[ loans$dINC_A < (lower.quantile-1.5*IQR) ] <- lower.quantile
loans$INC_A[ loans$dINC_A > (upper.quantile+1.5*IQR) ] <- upper.quantile`
此外:
> upper.quantile+1.5*IQR
[1] 39600
> lower.quantile-1.5*IQR
[1] -9360
然而,一旦我重新检查我的变量的摘要(),我得到的是我的最大值仍为64800&gt; upper.quantile + 1.5 * IQR = 39600
> summary(loans$dINC_A)
最小。第一曲。中位数第3曲。最大。 0 9000 19500 21240 30600 64800
我的R代码中缺少什么?