predict.lm () com um nível de fator desconhecido nos dados de teste

Estou ajustando um modelo para fatorar dados e prever. Se onewdata nopredict.lm() contém um único nível de fator desconhecido para o modelo,tudo dopredict.lm() falha e retorna um erro.

Existe uma boa maneira de terpredict.lm() retornar uma previsão para os níveis de fator que o modelo conhece e NA para níveis de fator desconhecidos, em vez de apenas um erro?

Código de exemplo:

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)

Gostaria que o último comando retornasse três previsões "reais" correspondentes aos níveis de fator "A", "B" e "C" e umNA correspondente ao nível desconhecido "D".

questionAnswers(7)

yourAnswerToTheQuestion