1.单变量离群点检测
> set.seed(3147) > x <- rnorm(100) > summary(x) Min. 1st Qu. Median Mean 3rd Qu. Max. -3.3150 -0.4837 0.1867 0.1098 0.7120 2.6860
> boxplot.stats(x)$out [1] -3.315391 2.685922 -3.055717 2.571203 > boxplot(x)
将上述的单变量离群点检测简单地应用到多变量的数据集。
> y <- rnorm(100) > df <- data.frame(x,y) > rm(x,y) > head(df) x y 1 -3.31539150 0.7619774 2 -0.04765067 -0.6404403 3 0.69720806 0.7645655 4 0.35979073 0.3131930 5 0.18644193 0.1709528 6 0.27493834 -0.8441813 > attach(df)
> (a <- which(x %in% boxplot.stats(x)$out)) [1] 1 33 64 74
> (b <- which(y %in% boxplot.stats(y)$out)) [1] 24 25 49 64 74
同样,也可以将x列或者的离群点都作为整个数据集的离群点
> y <- rnorm(100) > df <- data.frame(x,y) > rm(x,y) > head(df) x y 1 -3.31539150 0.7619774 2 -0.04765067 -0.6404403 3 0.69720806 0.7645655 4 0.35979073 0.3131930 5 0.18644193 0.1709528 6 0.27493834 -0.8