1.利用回归方法,将预测值插补进去。
> sub<-which(is.na(nhanes2[,4]))
> dataTR=nhanes2[-sub,] > dataTE<-nhanes2[sub,] > dataTE age bmi hyp chl 1 20-39 NA <NA> NA 4 60-99 NA <NA> NA 10 40-59 NA <NA> NA 11 20-39 NA <NA> NA 12 40-59 NA <NA> NA 15 20-39 29.6 no NA 16 20-39 NA <NA> NA 20 60-99 25.5 yes NA 21 20-39 NA <NA> NA24 60-99 24.9 no NA
> lm<-lm(chl~age,data=dataTR)
> round(predict(lm,dataTE)) 1 4 10 11 12 15 16 20 21 24 169 225 203 169 203 169 169 225 169 225
te<-round(predict(lm,dataTE)) nhanes2[sub,4]<-te 2.随机森林插补 head(airquality)complete.cases(airquality)t<-which(complete.cases(airquality))sum(complete.cases(airquality))sum(!complete.cases(airquality))install.packages("missForest")library(missForest)z<-missForest(airquality)#其实有用的也就zu最后这三行代码。