缺失值的插补

来源:互联网 发布:赚钱的软件 编辑:程序博客网 时间:2024/04/30 08:31

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>  NA

24 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最后这三行代码。


0 0
原创粉丝点击