用R中的分位数替换异常值

时间:2016-10-31 21:01:29

标签: r replace outliers quantile

我一直试图用上面和下面的分位数用以下代码替换异常值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代码中缺少什么?

0 个答案:

没有答案