首页 > 解决方案 > 如何绘制准泊松模型的根图?

问题描述

我想rootogramquasipoisson模型绘制一个。countreg 包非常适用于泊松和负二项式,但它表示准泊松模型“当前不支持系列”。

我知道这些包vcdlatticeExtra也可以绘制根图。不幸的是,当我尝试使用这些包绘制模型时rootogramquasipoisson我收到错误消息。

这是所有三个包的一些代码:

#some data for replication)
y <- rpois(100, 3)
x1 <- c(rep(0, 50), rep(1, 50))
x2 <- rnorm(100, 1000, 300)
data <- data.frame(y, x1, x2)

library(countreg)
countreg::rootogram(glm(y~x1 +x2, data = data, family = quasipoisson))

产生错误:

rootogram.glm(glm(y ~ x1 + x2, data = data, family = quasipoisson)) 中的错误:当前不支持家庭

library(vcd)
vcd::rootogram(glm(y~x1 + x2, data = data, family = quasipoisson))

产生错误:

rootogram.default(glm(y ~ x1 + x2, data = data, family = quasipoisson)) 中的错误:缺少参数“fitted”,没有默认值

library(latticeExtra)
latticeExtra::rootogram(glm(y ~ x1 + x2, data = data, family = quasipoisson))

产生错误:

sqrt(as.vector(object))中的错误:数学函数的非数字参数

另外:警告信息:

在 rootogram.default(glm(y ~ x1 + x2, data = data, family = quasipoisson)) 中:强制引入的 NA

标签: rplotglm

解决方案


并非所有库都采用模型对象来绘制结果。查看这些根图函数的文档。

例如,vcd的函数需要数据和预测来绘制绘图。您可以像这样制作情节:

#some data for replication)
y <- rpois(100, 3)
x1 <- c(rep(0, 50), rep(1, 50))
x2 <- rnorm(100, 1000, 300)
data <- data.frame(y, x1, x2)

mod <- glm(y~x1 +x2, data = data, family = quasipoisson)

library(vcd)
vcd::rootogram(data[,1], predict(mod), scale = "raw")

在此处输入图像描述

作为旁注,我无法安装countreg,所以我不知道那一端出了什么问题。


推荐阅读