跨栏模型标准误差预测 - 错误“$运算符对原子向量无效”

时间:2014-02-14 16:24:34

标签: r predict

我试图绘制我的Hurdle模型的预测。

型号:

mm14C<-hurdle(littersize1~X1+mont|mont,dist = "poisson", zero = "bin", data=data,weights=w)

Predict函数可以很好地预测值:

stripchart(data$X1~data$littersize1,ylab="Litter size",font.lab = 1, family = "serif", cex.lab = 1.5, method="jitter",xlim=c(-1.9,1),col="grey", xlab="Connectivity to Males",jitter=0.3, pch=18)
xk<-seq(from=-2, to=2, length=1000)
x2<-seq(from=1, to=12, length=1000)
my.data<-data.frame(X1=xk, mont=x2)
pred.vals<-predict(mm14C, newdata=my.data,weights = w, type="response") 
lines(pred.vals~xk,lty=1, col="black

然而,它给出了预测SE

的错误
G<-predict(mm14C, newdata=my.data, se.fit=TRUE,weights = w, type="response")
f<-G$fit 
fseup<-(G$fit +1.96*G$se.fit)
fselow<-(G$fit-1.96*G$se.fit)
lines(fseup~xk-1,lty=3, col="green")
lines(fselow~xk,lty=3, col="green")

错误:G $ fit中的错误:$运算符对原子向量无效 我试过在模型中只留下一个变量(X1),只做一个Poisson glm来测试问题是否是模型。但我总是遇到同样的错误。

1 个答案:

答案 0 :(得分:0)

假设您使用的是 pscl 包中的hurdle(),那么se.fit方法没有predict.hurdle()参数:

 ## S3 method for class 'hurdle'
 predict(object, newdata,
   type = c("response", "prob", "count", "zero"), na.action = na.pass,
   at = NULL, ...)

因此,该函数只返回预测值的向量。如果你想要预测值的标准误差,你需要对链接函数的规模进行预测,计算那里的标准误差(按照predict.glm()进行,但记住你有两个部分的贡献模型!!)然后应用链接函数的反转将所有内容转换回响应的比例。这听起来并不重要......