我建立了一个线性回归模型如下:
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),我得到了同样的错误。任何人都可以帮我这个吗?
非常感谢您的时间!
答案 0 :(得分:0)
您的原始数据没有ApacheData$daily == 2
的任何情况。 lm
对象没有与之关联的系数,因此会抛出错误。