# 1.缺失值: is.na(x) # 输出T:存在缺失值;F:无
data(algae) # 加载数据集
sum(is.na(algae)) # 总缺失值
sum(!complete.cases(algae)) # 有缺失值的行数
algae[!complete.cases(algae),] # 显示有缺失值的行
summary(algae) # 判断分类变量缺失值个数并进行描述性统计
# 1.1缺失模型判断
处理缺失值之前先判断缺失模式:完全随机、随机、完全非随机。
完全随机:较为理想状态,统计意义上缺失值是独立的,即不依赖任何变量。
随机缺失:依赖其他变量,并不由含有缺失值的变量本身决定。
完全非随机:较为严重的问题,依赖变量本身,需要从数据收集过程寻找原因。
# mice包判断缺失模式
md.pattren(x)
# 2.可视化处理
matrixplot(a)
# 3. 缺失值处理方法
删除法:适用于完全随机缺失,但会损失样本,不建议使用。
替换法:如均值替换法。会改变整体数据的统计性质。
插补法:多重插补法。利用蒙特卡洛模拟法(MCMC)将原始数据集插补为几个完整数据集,在每个新数据集用线性回归(lm)或广义线性回归(glm)等方法进行插补建模,再整合到一起。
mice(data,m=5,seed=1234)
# m:多重插补数,默认5;seed:产生固定随机数