目录
1.离群值的基础知识1.1 为什么需要关注离群值outliers?1.2 什么是离群值outliers2. 离群值的可视化2.1用Boxplot来可视化离群值(Outliers)2.2 另一种方法更好地可视化离群值(Outliers)3. 删除离群值3.1 方法一(更简单的方法)3.2 方法二(更易懂的方法)4. 小结5. 参考资料
1.离群值的基础知识1.1 为什么需要关注离群值outliers?1.2 什么是离群值outliers
离群值Outliers是统计学专业术语,是指相比一组数据中的其它数据的极限值。
统计学家已经设计出几种方法来定位数据集中的异常值。最常见的方法为四分位间范围 (IQR) 方法。IQR(Interquartile Range)代表四分位数间距,是这些值中的50%中间值,分别是
Q1-25%,
Median-50%,
Q3-75%,
IQR=Q3-Q1
离群值是小于Q1-(1.5)IQR或大于Q3+(1.5)IQR的值。
An outlier would be a point below [Q1-(1.5)IQR] or above [Q3+(1.5)IQR]。
2. 离群值的可视化2.1用Boxplot来可视化离群值(Outliers)data( "warpbreaks") #加载数据集
boxplot( warpbreaks) $out#画箱式图
# [1] 70 67
2.2 另一种方法更好地可视化离群值(Outliers)# 安装包
install.packages( "ggstatsplot")
#加载包
library( ggstatsplot)
# 加载数据集
#画图
ggbetweenstats( warpbreaks,
wool, breaks, outlier.tagging=TRUE)
3. 删除离群值
"哦!这是一个离群值, 因为它远离其余的点 "
然后呢?然后还要继续基于R对离群值进行处理。
3.1 方法一(更简单的方法)outliers <-boxplot(warpbreaks$breaks, plot=FALSE)$out
#定义离群值
x<-warpbreaks
x<- x[-which(x$breaks %in% outliers),]
#提取出不包含离群值的数据集3.2 方法二(更易懂的方法)Q <- quantile(warpbreaks$breaks, probs=c(.25, .75), na.rm = FALSE)
#计算25%与75%的值
iqr <- IQR(warpbreaks$breaks)
#计算四分位间距
up <- Q[2]+1.5*iqr # Upper Range 上限
low<- Q[1]-1.5*iqr # Lower Range 下限
eliminated<- subset(warpbreaks, warpbreaks$breaks > (Q[1] - 1.5*iqr) & warpbreaks$breaks < (Q[2]+1.5*iqr))
#提取出不包含离群值的数据集
ggbetweenstats(eliminated, wool, breaks, outlier.tagging = TRUE)
# 作图
4. 小结
An outlier would be a point below [Q1-(1.5)IQR] or above [Q3+(1.5)IQR]。
使用ggstatsplot包中的ggbetweenstats函数更好实现离群值的可视化
移除 OR 不移除 离群值 关键还要结合临床知识
5. 参考资料
How to Remove Outliers in R- 本文固定链接: https://maimengkong.com/image/1257.html
- 转载请注明: : 萌小白 2022年10月7日 于 卖萌控的博客 发表
- 百度已收录