预测功能错误 - 错误的环境类型?

时间:2018-02-01 16:18:59

标签: r environment predict

我对R中的预测函数有疑问 我正在尝试验证二项式GLM模型,在模型解释中,我遇到了以下错误(我没有在网上找到任何明确的答案)

#Model interpretation
range(Data$col1)

MyData <- expand.grid(col1 = seq(from = -85.97, 
                                    to = 510.06, 
                                    length = 25),
                  Position = levels(Data$col1))


P1          <- predict(M1, newdata = MyData, se = TRUE, type = "link")
MyData$Pi   <- exp(P1$fit) / (1 + exp(P1$fit))
MyData$SeUp <- exp(P1$fit + 1.96*P1$se.fit) / (1 + exp(P1$fit + 
1.96*P1$se.fit))
MyData$SeLo <- exp(P1$fit - 1.96*P1$se.fit) / (1 + exp(P1$fit - 
1.96*P1$se.fit))
MyData

错误是:

Error in model.frame.default(Terms, newdata, na.action = na.action, xlev = 
object$xlevels) : 
invalid type (environment) for variable 'Position'

任何人都可以帮助我吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

一种可能性是col1实际上不是一个因素。这意味着levels(Data$col1)会返回NULLMyData只有一列代表col1,但Position不存在。然后在进行预测时,R在数据帧中找不到Position并在全局环境中查找它,从而找到基函数?Position。您可以考虑使用levels而不是Position = sort(unique(Data$col1))