pred.lm () с неизвестным уровнем фактора в тестовых данных

Я подбираю модель для факторных данных и прогнозов. Если newdata в predic.lm () содержит уровень единственного фактора, который неизвестен модели, все из expect.lm () выдает ошибку и возвращает ошибку.

Есть ли хороший способ, чтобы pred.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» и NA , соответствующие неизвестному уровню «D».

33
задан 李哲源 7 October 2016 в 19:53
поделиться