R 大数据集的离群点处理

R 大数据集的离群点处理,r,outliers,R,Outliers,我正在做一个项目,有一个8545 X 52的数据集。 每个变量都有离群值,不幸的是,我无法删除离群值。 我知道通过检查每列的IQR来封顶的方法,但由于列数为52,这将需要很多时间。 任何人都可以提出任何快速处理异常值的方法。检查和识别异常值的一种非常快速(且不干净)的方法是: 数据: 要在数据帧中检测这些值,可以使用sapply: sapply(df, function(x) x %in% boxplot(df)$out) v1 v2 v3 [1,] FALSE

我正在做一个项目,有一个8545 X 52的数据集。 每个变量都有离群值,不幸的是,我无法删除离群值。 我知道通过检查每列的IQR来封顶的方法,但由于列数为52,这将需要很多时间。 任何人都可以提出任何快速处理异常值的方法。

检查和识别异常值的一种非常快速(且不干净)的方法是:

数据:

要在数据帧中检测这些值,可以使用
sapply

sapply(df, function(x) x %in% boxplot(df)$out)
         v1    v2    v3
 [1,] FALSE FALSE  TRUE
 [2,] FALSE FALSE FALSE
 [3,] FALSE FALSE FALSE
 [4,] FALSE FALSE FALSE
 [5,] FALSE FALSE FALSE
 [6,] FALSE FALSE FALSE
 [7,] FALSE FALSE FALSE
 [8,] FALSE FALSE FALSE
 [9,] FALSE FALSE FALSE
[10,]  TRUE  TRUE  TRUE

欢迎来到堆栈溢出。如果使问题具有可复制性,则更容易提供帮助:以对象的形式包含最小数据集,例如,如果将数据帧作为df
boxplot(df)$out
[1]   100  2000 11111  2345
sapply(df, function(x) x %in% boxplot(df)$out)
         v1    v2    v3
 [1,] FALSE FALSE  TRUE
 [2,] FALSE FALSE FALSE
 [3,] FALSE FALSE FALSE
 [4,] FALSE FALSE FALSE
 [5,] FALSE FALSE FALSE
 [6,] FALSE FALSE FALSE
 [7,] FALSE FALSE FALSE
 [8,] FALSE FALSE FALSE
 [9,] FALSE FALSE FALSE
[10,]  TRUE  TRUE  TRUE