缺失值處理一般包括三步:
1. 識別缺失資料;
2. 檢查導致資料缺失的原因;
3. 刪除包含缺失值的例項或用合理的數值代替(插補)缺失值。
>x
> is.na(x)
[1] true
> is.nan(x)
[1] false
> is.infinite(x)
[1] false
函式complete.cases()可用來識別矩陣或資料框中沒有缺失值的行
超級好用
#載入資料集
>data(sleep,package = "vim")
#沒有缺失值的行
>sleep[complete.cases(sleep),]
#列出有乙個或多個缺失值的行
>sleep[!complete.cases(sleep),]
#自己生成圖形
>library("vim")
>aggr(sleep,prop = false,numbers = true)
matrixplot()函式可生成展示每個例項資料的圖形
#自己生成圖形
marginplot(sleep[c("gest","dream")],phc=c(20),col=c("darkgray","red","blue"))
#可以把mydata替換成sleep,延續上面的**
>newdata
同樣的結果可以用na.omit函式獲得:
#可以把mydata替換成sleep,延續上面的**
>newdata
兩行**表示的意思都是:mydata中所有包含缺失資料的行都被刪除,然後結果才儲存到
newdata中,以後擬合就用新資料newdata.
處理含缺失值的資料集時,成對刪除常作為行刪除的備選方法使用。對於成對刪除,觀測只
是當它含缺失資料的變數涉及某個特定分析時才會被刪除:
>cor(sleep,use = "pairwise.complete.obs")
>library(mice)
>data("sleep",package = "vim")
>imp
#imp
>fit
fit>pooled
>summary(pooled)
imp>dataset2
>cor(sleep,use = "pairwise.complete.obs")
dataset2 is the newdata
下圖為完整缺失值處理:
R語言處理缺失值
在處理資料過程中,避免不了會產生一些缺失值,如未填寫資料或者編碼錯誤等原因,用na表示缺失值。在r語言中,is.na 函式可以判斷元素是否是缺失值,從而返回邏輯值 true false 所以該函式將會返回和元資料集一樣大小的資料集。在判斷缺失值的過程中,需要注意以下兩點 既然缺失值可能無處不在,那麼...
R 缺失值處理
假設有一組資料集如下 data data.frame y c 1,2,3,na,5,6 x1 c 6,na,4,3,2,1 x2 c 1,3,6,9,12,na na 即表示缺失值。在r中輸入該資料。判斷缺失資料 is.na data 統計缺失值個數 sum is.na data 檢視每個樣本資料是...
R語言 缺失值
資料集中往往存在缺失值,在進行資料分析前需要了解資料的缺失值情況。r語言中的一些基本函式可用於查詢缺失資料,另外還有一些第三方包可用於查詢和處理資料缺失。基本的缺失值查詢可以通過is.na 和complete.cases 函式,當存在缺失值na或者nan時is.na 返回true,complete....