R語言矩陣 缺失值處理

2021-07-15 17:45:42 字數 1566 閱讀 8057

缺失值處理一般包括三步:

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....