R对缺失数据的回归归因

R Regression imputation on missing data

你好!我正在尝试对包 'faraway' 和库 'faraway' 中的数据集 'chmiss' 的缺失值应用回归插补,但是我目前拥有的代码在使用数据框进行回归时遇到了问题删除列同时发生。谁能帮助我更正代码?

X <- chmiss
for(j in c(1:4,6)){
     new_Y <- X[,j]
     new_X <- X[,c(-j,-5)]
     new_XY <- cbind(new_X,new_Y)
     temp_lm <- lm(new_Y~.,data=new_XY)
     X[is.na(new_Y),j] <- predict(temp_lm,new_X[is.na(new_Y),c(-j,-5)])
}

试试这个:

library(faraway)
data(chmiss)
X <- chmiss
for(j in c(1:4,6)){
  new_Y <- X[,j]
  new_X <- X[,c(-j,-5)]
  new_XY <- cbind(new_X,new_Y)
  temp_lm <- lm(new_Y~.,data=new_XY)
  X[is.na(new_Y),j] <- predict(temp_lm,new_X[is.na(new_Y),]) ## difference here
}

您已删除列 c(-j,-5) 以创建 new_X,因此当您为 predict 再次执行此操作时,调用它会删除有用的列。