R语言中缺失数据处理
应用高级方法进行缺失数据的管理
- 缺失数据主要包括
- missing completely at random (MCAR)完全随机缺失
- missing at random (MAR) 随机缺失
- Not missing at random (NMAR).非随机缺失 ### mice and VIM package
- Generates Multivariate Imputations by Chained Equations (MICE)
- VIM包主要用于缺失数据的可视化
数据实操
- 我们以mtcars数据集为例
dim(mtcars)
## [1] 32 11
data=mtcars
MICE包
- md.pattern:Display missing-data patterns.函数用于探索数据缺失的模式
library(mice)
## Warning: package 'mice' was built under R version 3.6.3
##
## Attaching package: 'mice'
## The following objects are masked from 'package:base':
##
## cbind, rbind
md.pattern(data)
## /\ /\
## { `---' }
## { O O }
## ==> V <== No need for mice. This data set is completely observed.
## \ \|/ /
## `-----'
image.png
## mpg cyl disp hp drat wt qsec vs am gear carb
## 32 1 1 1 1 1 1 1 1 1 1 1 0
## 0 0 0 0 0 0 0 0 0 0 0 0
# 那么显然我们发现了mtcars是一个没有缺失的数据集
那我们看一个有缺失的数吧
- 这样才能体现md.pattern函数的强大功能
- 正所谓一图胜前言
dim(nhanes)
## [1] 25 4
# 这是一个25*4的矩阵数据
nhanes # 因为数据不大,索性看看它的全貌吧
## age bmi hyp chl
## 1 1 NA NA NA
## 2 2 22.7 1 187
## 3 1 NA 1 187
## 4 3 NA NA NA
## 5 1 20.4 1 113
## 6 3 NA NA 184
## 7 1 22.5 1 118
## 8 1 30.1 1 187
## 9 2 22.0 1 238
## 10 2 NA NA NA
## 11 1 NA NA NA
## 12 2 NA NA NA
## 13 3 21.7 1 206
## 14 2 28.7 2 204
## 15 1 29.6 1 NA
## 16 1 NA NA NA
## 17 3 27.2 2 284
## 18 2 26.3 2 199
## 19 1 35.3 1 218
## 20 3 25.5 2 NA
## 21 1 NA NA NA
## 22 1 33.2 1 229
## 23 1 27.5 1 131
## 24 3 24.9 1 NA
## 25 2 27.4 1 186
md.pattern(nhanes)
image.png
## age hyp bmi chl
## 13 1 1 1 1 0
## 3 1 1 1 0 1
## 1 1 1 0 1 1
## 1 1 0 0 1 2
## 7 1 0 0 0 3
## 0 8 9 10 27