r中针对极端离群值的离群值处理

时间:2020-05-08 00:10:10

标签: r statistics outliers

我正在做一个学校项目,并且在其中一列中找到了一些异常值。我相信这些离群值正在伤害我的相关性测试。我已使用以下代码来识别它们,

boxplot(df$col)
boxplot(df$col)$out
outliers <- boxplot(df$col)$out

我的身份确认后,应该如何对待他们?您能否提供一些我可以插入的代码,这些代码将自动对其进行处理。对于一个事实,我知道有两个极端的异常值。你们会建议只治疗那些,其余的留吗?如果是这样,代码将是什么...它们超过2000,并且是仅有的两个大于100的数字。

1 个答案:

答案 0 :(得分:1)

# Nullify outliers: out_free_df => data.frame 
out_free_df <- within(df, {
    col <- ifelse(col %in% boxplot.stats(col)$out, NA, x)
    }
  )

# Impute outliers with mean: imputed_df => data.frame
imputed_df <- within(out_free_df, {col <- ifelse(is.na(col), mean(col, na.rm = TRUE), col)}