您正在寻找的“卡方值”是偏差(-2*(对数似然),至少达到一个对于推理而言无关紧要的附加常数。R 为您提供上面的对数似然( logLik
) 和似然比统计量 ( LR.stat
):LR 统计量是对数似然差的两倍 (2*(2236.0-2084.7))。
我对您的anova
结果有点困惑,因为它们似乎与我anova()
在两次运行时得到的格式不匹配glm()
:特别是,stats:::anova.glm
(对象的anova
方法glm
)不打印 AIC m1
...m2
真的glm
对象吗?(例如尝试class("m1")
)
你能给我们一个可重复的例子吗?这是我得到的一个简单示例,修改自?glm
:
## Dobson (1990) Page 93: Randomized Controlled Trial :
d.AD <- data.frame(counts=c(18,17,15,20,10,20,25,13,12),
outcome=gl(3,1,9),
treatment=gl(3,3))
glm1 <- glm(counts ~ outcome + treatment, family = poisson, data=d.AD)
glm0 <- update(glm1, . ~ 1)
模型比较给出了剩余偏差(您的“卡方值”)以及它们之间的差异......
anova(glm0,glm1,test="Chisq")
## Analysis of Deviance Table
##
## Model 1: counts ~ 1
## Model 2: counts ~ outcome + treatment
## Resid. Df Resid. Dev Df Deviance Pr(>Chi)
## 1 8 10.5814
## 2 4 5.1291 4 5.4523 0.244
(如果我省略了test="Chisq"
,我会得到以上所有但没有 p 值)
我从您在http://article.gmane.org/gmane.comp.lang.r.general/299377的交叉发布中看到您实际上正在使用ordinal::clm
,在这种情况下,我们确实得到了看起来像您上面的输出(重要的是要准确)......结果并不相同,因为模型略有不同,并且给您的是对数似然(=-deviance/2)而不是偏差,但是偏差之间的差异(“ LR.stat") 类似。
library(ordinal)
clm1 <- clm(ordered(counts) ~
outcome + treatment, family = poisson, data=d.AD)
clm0 <- update(clm1, . ~ 1)
anova(clm0,clm1)
## no.par AIC logLik LR.stat df Pr(>Chisq)
## clm0 7 50.777 -18.389
## clm1 11 52.839 -15.419 5.9389 4 0.2038