#####缺失值判断以及处理#####
#举例1:向量类型判断缺失值is.na和缺失值的填补which
(x<-c(1,2,3,NA))
is.na(x) #返回一个逻辑向量,TRUE为缺失值,FALSE为非缺失值
table(is.na(x)) #统计分类个数
sum(x) #当向量存在缺失值的时候统计结果也是缺失值
sum(x,na.rm = TRUE) #很多函数里都有na.rm=TRUE参数,此参数可以在运算时移除缺失值
(x[which(is.na(x))]<-0) #可以用which()函数代替缺失值,which()函数返回符合条件的响应位置
#举例2:数据框类型判断缺失值is.na、缺失值的填补which、缺失值所在行的删除na.omit
(test<-data.frame(x=c(1,2,3,4,NA),y=c(6,7,NA,8,9)))
is.na(test) #test中空值的判断
which(is.na(test),arr.ind = T) #arr.ind=T可以返回缺失值的相应行列坐标
test[which(is.na(test),arr.ind = T)]<-0 #结合which进行缺失替代
(test_omit<-na.omit(data.frame(x=c(1,2,3,4,NA),y=c(6,7,NA,8,9)))) #na.omit函数可以直接删除值所在的行
#举例3:识别缺失值的基本语法汇总
str(airquality)
complete.cases(airquality) #判断个案是否有缺失值