1. 程式人生 > >R中異常值檢測

R中異常值檢測

data1=complete.cases(selectdata)  #布林判斷
# true代表1,false代表0
sum(complete.cases(selectdata))  #完整資料200條
sum(!complete.cases(selectdata))  #不完整資料1條
mean(!complete.cases(selectdata))  #缺失比例  1/201
selectdata[!complete.cases(selectdata),]  #布林條件篩選
sp=boxplot(selectdata$銷量,boxwex=0.7)
sp$out
title("銷量異常值檢測箱形圖")
xi=1.1
sd.s=sd(selectdata[complete.cases(selectdata),]$銷量)
mn.s=mean(selectdata[complete.cases(selectdata),]$銷量)
points(xi,mn.s,col='red',pch=19)
arrows(xi,mn.s-sd.s,xi,mn.s+sd.s,code = 3,col = 'pink',angle = 60,length = .1)
text(rep(c(1.05,0.95),length(sp$out)/2),sp$out,sp$out,col = 'green')

表格資料如下:
在這裡插入圖片描述
第一步檢測資料缺失情況,利用complete.case()函式
第二步篩選完整資料作箱型圖,判斷異常值
這裡用到第二種
在這裡插入圖片描述
各引數含義:
x資料
range 須從盒子伸出多遠
width 箱體寬度
varwidth : 邏輯值,控制箱體的寬度, 只有圖中有多個箱體時才發揮作用,預設為FALSE
notch:中位值處切口邏輯值
names:分組標籤
border:箱體中線條顏色
pars:比例係數
輸出值
在這裡插入圖片描述
stats:
在這裡插入圖片描述
conf:切口的上下
out:須兩端外的值
在這裡插入圖片描述