R Регрессионное вменение недостающих данных

Привет! Я пытаюсь применить вменение регрессии к значениям промахов набора данных chmiss из пакета faraway и библиотеки faraway, но код, который у меня до сих пор, не может соответствовать регрессии с кадром данных, когда удаление столбца происходит так же время. Может ли кто-нибудь помочь мне исправить код?

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)])
}

person lydias    schedule 11.12.2017    source источник


Ответы (1)


Попробуй это:

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, вместо этого удаляются полезные столбцы.

person Bastien    schedule 11.12.2017