我似乎面临着R的盒子图功能的问题。虽然我已经能够使用boxplot()命令在RStudio上可视化盒子图,但我无法识别离群值。我该怎么办?我希望能够删除这些值并对数据执行迭代框图分析,直到清除所有异常值为止。
为了给你一些背景知识,我试图删除数据集中的所有异常值,以便找到最佳可能的概率密度曲线拟合作为我的过程模拟项目的一部分。目前,为了将曲线拟合到数据集,我我正在使用ProModel的StatFit软件模块。
总结一下,我想删除所有异常值,然后在框中打印数据点列表。
谢谢你, metalxenophobe93
答案 0 :(得分:1)
尝试:
> xx = c(1,2,3,4, 12, -20)
> boxplot(xx)
> bb = boxplot(xx)
> bb
$stats
[,1]
[1,] 1.0
[2,] 1.0
[3,] 2.5
[4,] 4.0
[5,] 4.0
$n
[1] 6
$conf
[,1]
[1,] 0.5649031
[2,] 4.4350969
$out
[1] 12 -20
$group
[1] 1 1
$names
[1] "1"
异常值:
> bb$out
[1] 12 -20
删除所有异常值:
> xx[!(xx %in% bb$out)]
[1] 1 2 3 4
递归删除所有异常值:
xx = c(1,2,3,4, 12, -20)
bb = boxplot(xx)
while(length(bb$out <1)){
xx = xx[!(xx %in% bb$out)]
bb = boxplot(xx)
}
xx
[1] 1 2 3 4