ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

R语言-使用箱型图进行数据异常值分析

2021-02-17 21:59:59  阅读:1242  来源: 互联网

标签:语言 异常 完整 saledata 箱型 数据 cases complete


R语言-使用箱型图进行数据异常值分析


首先介绍本文章的主要内容:
1. 检查批量数据的完整性(录入不全)
2. 异常值分析(录入错误以及数据不合理)

箱形图(英文:Box plot),是一种用作显示一组数据分散情况资料的统计图。在各种领域也经常被使用,常见于品质管理,快速识别异常值。
在这里插入图片描述一.箱子的中间一条线,是数据的中位数,代表了样本数据的平均水平。

二.箱子的上下限,分别是数据的上四分位数和下四分位数。这意味着箱子包含了50%的数据。因此,箱子的宽度在一定程度上反映了数据的波动程度。

三.在箱子的上方和下方,又各有一条线。代表着最大最小值。如果有点冒出去,理解成“异常值”就好。

示例数据集为:

  • 商店销量与日期的关联记录

在这里插入图片描述``
R语言代码:统计完整数据个数与不完整数据个数

#设置工作空间
setwd("F:/chapter3/数据探索")
#读取表单数据
saledata=read.csv(file="./data/catering_sale.csv",header=TRUE)
#记录完整数据个数
sum(complete.cases(saledata))
#记录不完整数据个数
sum(!complete.cases(saledata))

结果:说明有200个完整的数据和一个不完整的数据
在这里插入图片描述

#输出不完整数据占样本总量的大小
mean(!complete.cases(saledata))
#提取不完整所在的行
saledata[!complete.cases(saledata),]

在这里插入图片描述


# 异常值检测箱线图
sp <- boxplot(saledata$"销量", boxwex = 0.7)
title("销量异常值检测箱线图")
xi <- 1.1
#标准方差公式
sd.s <- sd(saledata[complete.cases(saledata), ]$"销量")
#中位数公式
mn.s <- mean(saledata[complete.cases(saledata), ]$"销量")
points(xi, mn.s, col = "red", pch = 18)
arrows(xi, mn.s - sd.s, xi, mn.s + sd.s, code = 3, col = "pink", angle = 75, length = .1)
text(rep(c(1.05, 1.05, 0.95, 0.95), length = length(sp$out)), 
     labels = sp$out[order(sp$out)], sp$out[order(sp$out)] + 
       rep(c(150, -150, 150, -150), length = length(sp$out)), col = "red")

在这里插入图片描述可以看到在箱型图中超过上下界的8个销售额数值可能为异常值

标签:语言,异常,完整,saledata,箱型,数据,cases,complete
来源: https://blog.csdn.net/qq_38988257/article/details/113838247

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有