R中的predict.lm出错:因子as.factor(每日)有新的等级2

时间:2014-04-19 08:48:11

标签: r statistics prediction

我建立了一个线性回归模型如下:

 ApacheData$daily <- cut(ApacheData$daily, breaks=c(-1, 0, 1, 2, 3, 9,3000))
 ApacheData$age <- cut(ApacheData$age, breaks=c(0,44,65,150))

 fit <-lm(tomorrow_apache~ as.factor(state_today)
         +as.numeric(daily_creat) 
         + as.factor(daily)
         + as.factor(age)
         +as.numeric(apache3) 
         + as.factor(mv)  
         + as.numeric(min_GCS), ApacheData)

我想用这个模型来预测一个新的输入值,所以我构建了一个数据框:

new <- data.frame(state_today=1, daily_creat=2.3, daily=2 , age=25, apache3=12, mv=1,     min_GCS=20)'

然后我打电话给预测:

 predict(fit, new , se.fit=TRUE)

我收到错误:      model.frame.default中的错误(Terms,newdata,na.action = na.action,xlev = object $ xlevels):       因素as.factor(每日)有新的2级

我也在data.frame()中尝试了每天= as.factor(2),我得到了同样的错误。任何人都可以帮我这个吗?

非常感谢您的时间!

1 个答案:

答案 0 :(得分:0)

您的原始数据没有ApacheData$daily == 2的任何情况。 lm对象没有与之关联的系数,因此会抛出错误。