从 R 中的数据集中删除异常值
在本文中,我们将研究使用 R 编程语言中的内置函数从数据集中删除异常值的方法。
异常值是不符合数据集其余部分模式的数据点。检测给定数据集中异常值的最佳方法是绘制数据集的箱线图,箱线图中位于箱线外的点就是数据集中的所有异常值。在这种从给定数据集中删除异常值的方法中,用户只需使用简单的 boxplot()函数绘制给定数据集的箱线图,如果发现给定数据中存在异常值,则用户需要调用 boxplot.stats()函数,它是 R 语言的基本函数,并将所需的参数传递给该函数,这将进一步导致删除给定数据集中存在的异常值。
boxplot.stats()函数通常由另一个函数以收集生成箱线图所需的统计数据,但也可以单独调用。
Syntax: boxplot.stats(x, coef = 1.5, do.conf = TRUE, do.out = TRUE)
Parameters:
- x: a numeric vector for which the boxplot will be constructed.
- coef: determines how far the plot ‘whiskers’ extend out from the box.
- do.conf, do.out: logicals; if FALSE, the conf or out component respectively will be empty in the result.
让我们首先看一个不去除异常值的常规图。
示例:初始图
R
gfg<-rnorm(500)
gfg[1:10]<-c(-4,2,5,6,4,1,-5,8,9,-6)
boxplot(gfg)
R
gfg<-rnorm(500)
gfg[1:10]<-c(-4,2,5,6,4,1,-5,8,9,-6)
gfg <- gfg[!gfg %in% boxplot.stats(gfg)$out]
boxplot(gfg)
输出:
现在让我们再次可视化上面的图,但这次通过应用给定的方法没有异常值。
示例:使用 boxplot.stats()函数删除异常值 -
电阻
gfg<-rnorm(500)
gfg[1:10]<-c(-4,2,5,6,4,1,-5,8,9,-6)
gfg <- gfg[!gfg %in% boxplot.stats(gfg)$out]
boxplot(gfg)
输出: