我有一个关于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 回答
一种可能性是
col1
实际上不是一个因素 . 这意味着levels(Data$col1)
返回NULL
而MyData
只有1列,您可以调用col1
但Position
不存在 . 然后在进行预测时,R在数据帧中找不到Position
并在全局环境中查找它,从而找到基函数?Position
. 您可以考虑使用Position = sort(unique(Data$col1))
而不是levels
.