R中異常值檢測
阿新 • • 發佈:2018-12-05
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:須兩端外的值