我对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'
任何人都可以帮助我吗?
非常感谢
答案 0 :(得分:0)
一种可能性是col1
实际上不是一个因素。这意味着levels(Data$col1)
会返回NULL
而MyData
只有一列代表col1
,但Position
不存在。然后在进行预测时,R在数据帧中找不到Position
并在全局环境中查找它,从而找到基函数?Position
。您可以考虑使用levels
而不是Position = sort(unique(Data$col1))
。