缺失值产生的原因:
1、有些信息暂时无法获取,或者获取信息的代价太大;
2、有些信息是被遗漏的。如认为不重要,忘记填写等人为因素,或数据采集设备故障,存储介质故障,传输媒体故障等非人为的因素;
3、属性值不存在。如未婚者的配偶姓名等。
4、对数据的缺失值处理之前,进行异常值分析。
缺失值的处理,大致分为三种情况:
1、删除法
分为两种:
(1)删除观测样本,na.omit()或data[-p,]
数据集为:
sub = which(is.na(data$sales)) #which函数返回符合条件的观测的所在位置
data1 = data[-sub,] 删除NA值所在行
若删除两个变量中,任意一个变量为0的记录,可用 或运算符“|”
delet_na = datafile[-which(is.na(datafile$SUM_YR_1)|is.na(datafile$SUM_YR_2)),]
若删除多个条件同时成立的记录,可用 乘号*
index= ((delet_na$SUM_YR_1 == 0 & delet_na$SUM