r - 如何绘制准泊松模型的根图?
问题描述
我想rootogram
为quasipoisson
模型绘制一个。countreg 包非常适用于泊松和负二项式,但它表示准泊松模型“当前不支持系列”。
我知道这些包vcd
,latticeExtra
也可以绘制根图。不幸的是,当我尝试使用这些包绘制模型时rootogram
,quasipoisson
我收到错误消息。
这是所有三个包的一些代码:
#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
解决方案
并非所有库都采用模型对象来绘制结果。查看这些根图函数的文档。
例如,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
,所以我不知道那一端出了什么问题。
推荐阅读
- android - 在 Android 上支持 arm64 架构的 Mono?
- python - Python & Classes - 我可以在超类中使用将在子类中创建的方法吗?
- salesforce - 如何在 visualforce 页面中动态生成部分?
- javascript - 使用现有函数的输出作为对象属性
- python - python serversocket TCPServer没有从BaseRequestHandler类调用handle()方法
- python - 在 python 中使用字典破解加盐哈希
- javascript - 有没有一种方法可以确定 Firebase 数据库中的所有集合是否为空?
- android - 面对getvibrantcolor(int)调色板不能应用于androidx中的()
- character-encoding - PostgreSQL 安装问题 Character Type
- typescript - 单元测试期间 Jest 的问题 - 未实现 getContext()