加载并查看数据基本情况
library(VIM)
data(sleep)
str(sleep)
summary(sleep)
head(sleep)
一、处理缺失值
查看NA的分布情况,有一个直观了解
library('mice')
md.pattern(sleep)
matrixplot(sleep)
NA分布情况
根据NA的分布情况,获取数据子集
#统计每一列NA的数量
na_flag
# na_flag % .[nrow(.),-ncol(.)]#同上
library('dplyr')
#获取含有NA的列和不含NA的列
na_col = na_flag[na_flag > 0] %>% names()
full_col = setdiff(names(sleep),na_col)
# fill_col = names(sleep)[!(names(sleep) %in% na_col)]同上
# 获取所有含有NA的行
na_df = sleep[!complete.cases(sleep),]
#获取所有不含NA的行
full_df = na.omit(sleep)
#fill_df = sleep[complete.cases(sleep),]同上
#对变量进行重新排序
sleep = sleep[,c(na_col,full_col)]
1. 删除法
当缺失