我应该如何处理R中多个变量的离群值?

时间:2019-10-29 18:49:52

标签: r data-cleaning outliers

我对统计编程有点陌生,我目前正在研究信用违约数据集中19个变量的11万个观测值的数据集,并希望创建一些模型,例如逻辑回归和rf,其中因变量是没有公司违约。但是,尽管大多数变量看起来都是正态分布的,但仍有3个变量的箱线图甚至没有箱形,并且有许多异常值很高。我试图省略包含这些离群值的观测值,但最终只得到20000个观测值,我对此高度怀疑是正确的。 这就是为什么我想知道是否存在一种很好的方法来处理这些异常值,以及如何在R中实现它?请参阅以下有关说明我观点的箱线图之一: Extreme outliers

1 个答案:

答案 0 :(得分:0)

您可以计算四分位数间距(IQR),并将大于或小于1.5倍的任何值转换为NA。

^([aA]rt\. \d+º?)\s*(.*?)\s*(\([^)]*\))?$

如果该方法的简单实现不起作用,请尝试执行对数转换,然后执行上面的IQR步骤:


q_col <- quantile(df$col, probs= c(.25, .75), na.rm = T)
iqr_df <- IQR(df$col, na.rm = T)

df$col_new <- df$col
df$col_new[(df$col < q_col - 1.5*(iqr_df)) | (df$col > q_col + 1.5*(iqr_df))] <- NA