我正在尝试使用predict()
来查找与足球开球相关的线性回归的预测值。我的模特是:
fit8 <- lm(endyl ~ gdate + kt + rt+ ylr + gdate*rt + kt*ylr + gdate*kt
+ gdate*kt*ylr, data = returned_kicks)
endyl
和ylr
是数字,但gdate
,kt
和rt
分别为4,32和32级别。如您所见,有4个交互项,它们使用分类预测变量。我的预测尝试看起来像这样:
newdata1 <- with(returned_kicks, data.frame(gdate = factor('Nov', levels = c('Sept', 'Oct', 'Nov', 'Dec')),
kt = factor("ATL", levels =c("ARI", "ATL", "BAL", "BUF", "CAR", "CHI", "CIN", "CLE", "DAL", "DEN", "DET", "GB", "HOU", "IND", "JAX",
"KC", "LA", "MIA","MIN", "NE", "NO", "NYG", "NYJ", "OAK", "PHI","PIT", "SD", "SEA", "SF", "TB", "TEN", "WAS")),
rt = factor("BUF", levels =c("ARI", "ATL", "BAL", "BUF", "CAR", "CHI", "CIN", "CLE", "DAL", "DEN", "DET", "GB", "HOU", "IND", "JAX",
"KC", "LA", "MIA","MIN", "NE", "NO", "NYG", "NYJ", "OAK", "PHI","PIT", "SD", "SEA", "SF", "TB", "TEN", "WAS")), ylr = -5))
newdata1
predict.lm(fit8, newdata = newdata1, type = "response")
我已经看到一些地方说包括这样的水平有助于分类预测因子,但它似乎并不考虑交互术语。我在预测功能中做错了什么,或者我设置data.frame
错了?关于如何修复错误的任何建议都表示赞赏,谢谢。