步骤:
1.识别缺失值
2.分析缺失的原因
3.查看缺失值情况
4.处理缺失值
识别
判断缺失值:is.na()
识别矩阵或数据框中的完整观测:complete.cases()
any(is.na(data)):检查是否存在缺失值
head(is.na(data $ col1),5):查看数据data中col1列前5个数据的缺失情况
sum(is.na(data $ col1)):计算col1列中的缺失值个数
sum(!is.na(data $ col1)):计算col1列中的非缺失值个数
mean(!complete.cases(data)):计算data中完整行的百分比
newdata=data[complete.cases(data),]:从data中提取出完整观测
deldata=data[!complete.cases(data),]:从data中提取出非完整观测
分析缺失的原因
MCAR:完全随机缺失,即某变量缺失值与它所在变量其他观测值无关,与其他变量也无关。
MAR:随机缺失,即某变量出现缺失与其他变量相关,与自身未观测值不相关(大多数情况下处理的都是这种数据)
MANR:非随机缺失,即变量出现缺失与其观测值有关,需要用专门的方法重新收集数据。
查看缺失值情况
1.列表显示:
加载mice包(实现处理丢失数据方法的包)
md.pattern()