我正在寻找一种方法来获得一个描述 glm 模型拟合优度的 p 值。以下是手册页中稍作修改的示例lm
:
ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
conf<- c(rnorm(mean=-1, sd=1, n=10), rnorm(mean=1, sd=1, n=10))
group <- gl(2,10,20, labels=c("Ctl","Trt"))
weight <- c(ctl, trt)
lm.D9 <- lm(weight ~ group + conf)
summary(lm.D9)
一个得到
Call:
lm(formula = weight ~ group + conf)
Residuals:
Min 1Q Median 3Q Max
-1.17619 -0.40373 -0.05262 0.24987 1.40777
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.97416 0.25153 19.775 3.6e-13 ***
groupTrt -0.23724 0.41117 -0.577 0.572
conf -0.07044 0.13725 -0.513 0.614
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.7111 on 17 degrees of freedom
Multiple R-squared: 0.08722, Adjusted R-squared: -0.02017
F-statistic: 0.8122 on 2 and 17 DF, p-value: 0.4604
如果 id 对 glm 做同样的事情
glm.D9 <- glm(weight ~ group + conf)
summary(glm.D9)
我明白了
Call:
glm(formula = weight ~ group + conf)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.17619 -0.40373 -0.05262 0.24987 1.40777
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.97416 0.25153 19.775 3.6e-13 ***
groupTrt -0.23724 0.41117 -0.577 0.572
conf -0.07044 0.13725 -0.513 0.614
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for gaussian family taken to be 0.5056514)
Null deviance: 9.4175 on 19 degrees of freedom
Residual deviance: 8.5961 on 17 degrees of freedom
AIC: 47.869
Number of Fisher Scoring iterations: 2
lm
有 F 统计量作为整个模型的总结,glm
没有。那么问题又来了:如何从描述拟合的 glm 模型中获得一个 p 值?
谢谢