2018-10-18
閱讀量:
2339
R語(yǔ)言中缺失值的判斷與處理
一、判斷缺失值
is.na()函數(shù),返回值為邏輯值,TRUE代表缺失,否則為FALSE。
complete.cases()函數(shù),返回值為邏輯值,與is.na()相反,F(xiàn)ASLE代表缺失,否則為TRUE。
二、判斷缺失模式
1、mice包的md.pattern()函數(shù),返回值為數(shù)據(jù)表,結(jié)果中“1”代表沒(méi)有缺失值,“0”代表存在缺失值。第一列的值代表符合其后的每一行缺失情況的樣本數(shù)。

上圖表示有4個(gè)樣本缺少了x3變量的值。
最后一列表示缺失的變量數(shù);最后一行表示含每個(gè)變量缺失值的觀測(cè)值數(shù)目之和。
2、VIM包的aggr()函數(shù),可以根據(jù)返回的圖像判斷缺失情況。
aggr(x,delimter = NULL,plot = TRUE,...)
x代表要判斷的向量、矩陣或數(shù)據(jù)框;delimiter用于區(qū)分插補(bǔ)變量,在判斷缺失模式中,參數(shù)默認(rèn)忽略;plot為邏輯值,判斷是否繪制圖形。
三、缺失數(shù)據(jù)的處理
1、刪除缺失樣本
可以通過(guò)complete.cases()和is.na()進(jìn)行篩選。
可以使用函數(shù)na.omit()直接刪除缺失值。
2、替換缺失值
通過(guò)給缺失值賦值,替換缺失值。
3、多重插補(bǔ)法
FSC方法:通過(guò)mice包的mice()函數(shù)可以實(shí)現(xiàn)。
隨機(jī)模擬完整數(shù)據(jù)集,存入imp(可以隨意替換名稱)中,再對(duì)imp進(jìn)行線性回歸,根據(jù)匯總的線性系數(shù),計(jì)算出缺失值,填補(bǔ)到缺失數(shù)據(jù)中。
imp = mice(data, seed=...)
#data為數(shù)據(jù),seed為設(shè)置的隨機(jī)種子
fit = with(imp,lm())
#根據(jù)要插補(bǔ)的變量,對(duì)imp進(jìn)行線性回歸,例如缺失值為x1,用x2和x3預(yù)測(cè),則lm(x1~x2+x3)
pooled=pool(fit)
#用pool函數(shù)匯總回歸結(jié)果






評(píng)論(0)


暫無(wú)數(shù)據(jù)
CDA考試動(dòng)態(tài)
CDA報(bào)考指南
推薦帖子
0條評(píng)論
0條評(píng)論
0條評(píng)論