Я подгоняю модель для оценки данных и прогнозирования. Если newdata
in predict.lm()
содержит один факторный уровень, который неизвестен модели, все predict.lm()
завершают работу и возвращают ошибку.
Есть ли хороший способ вернуть predict.lm()
предсказание для тех уровней факторов, которые знают модель, и NA для неизвестных уровней факторов, а не только ошибки?
Пример кода:
foo <- data.frame(response=rnorm(3),predictor=as.factor(c("A","B","C")))
model <- lm(response~predictor,foo)
foo.new <- data.frame(predictor=as.factor(c("A","B","C","D")))
predict(model,newdata=foo.new)
Я бы хотел, чтобы самая последняя команда возвращала три "реальных" прогноза, соответствующих уровням факторов "A", "B" и "C" и a NA
, соответствующим неизвестному уровню "D".