以下是一些数据
dat = data.frame(y = c(9,7,7,7,5,6,4,6,3,5,1,5), x = c(1,1,2,2,3,3,4,4,5,5,6,6), color = rep(c('a','b'),6))
如果您愿意,可以使用这些数据的图表
require(ggplot)
ggplot(dat, aes(x=x,y=y, color=color)) + geom_point() + geom_smooth(method='lm')
使用函数MCMCglmm()
...
require(MCMCglmm)
summary(MCMCglmm(fixed = y~x/color, data=dat))
我得到估计值的下限和上限95%,让我知道两个斜率(颜色= a和颜色= b)是否有显着差异。
查看此输出时......
summary(glm(y~x/color, data=dat))
......我看不到置信区间!
我的问题是:
使用函数glm()
时,如何估算这些估计值的上下95%区间?
答案 0 :(得分:10)
使用confint
mod = glm(y~x/color, data=dat) summary(mod) Call: glm(formula = y ~ x/color, data = dat) Deviance Residuals: Min 1Q Median 3Q Max -1.11722 -0.40952 -0.04908 0.32674 1.35531 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 8.8667 0.4782 18.540 0.0000000177 x -1.2220 0.1341 -9.113 0.0000077075 x:colorb 0.4725 0.1077 4.387 0.00175 (Dispersion parameter for gaussian family taken to be 0.5277981) Null deviance: 48.9167 on 11 degrees of freedom Residual deviance: 4.7502 on 9 degrees of freedom AIC: 30.934 Number of Fisher Scoring iterations: 2 confint(mod) Waiting for profiling to be done... 2.5 % 97.5 % (Intercept) 7.9293355 9.8039978 x -1.4847882 -0.9591679 x:colorb 0.2614333 0.6836217
答案 1 :(得分:3)
@ alex的方法会让你获得信心限制,但要小心解释。由于glm基本上是非线性模型,因此系数通常具有较大的协方差。你应该至少看看95%置信度椭圆。
mod <- glm(y~x/color, data=dat)
require(ellipse)
conf.ellipse <- data.frame(ellipse(mod,which=c(2,3)))
ggplot(conf.ellipse, aes(x=x,y=x.colorb)) +
geom_path()+
geom_point(x=mod$coefficient[2],y=mod$coefficient[3], size=5, color="red")
产生这个,这是x和交互项的95%置信椭圆。
注意confint(...)
产生的置信限是如何与椭圆一致的。从这个意义上说,椭圆提供了更保守的置信限度估计。