The glmer
命令用于快速拟合具有不同截距和不同斜率的逻辑回归模型(或者等效地,具有固定效应和随机效应的混合模型)。
要在 R 中拟合变化截距多级逻辑回归模型(即随机效应逻辑回归模型),您可以使用内置的“mtcars”数据集运行以下命令:
data(mtcars)
head(mtcars)
m <- glmer(mtcars$am ~ 1 + mtcars$wt + (1|mtcars$gear), family="binomial")
summary(m)
# and you can examine the fixed and random effects
fixef(m); ranef(m)
为了在 Stata 中拟合变截距斜率模型,您当然可以使用 xtlogit 命令(使用 Stata 中类似但不相同的内置“自动”数据集):
sysuse auto
xtset gear_ratio
xtlogit foreign weight, re
我要补充一点,我发现对“固定”效应与“随机”效应的整个引用含糊不清,我更喜欢参考模型本身的结构(例如,截距是否变化?哪些斜率变化(如果有)?模型嵌套在 2 个或更多级别中?这些级别是否交叉分类?)。对于类似的观点,请参阅 Andrew Gelman 的thoughts http://andrewgelman.com/2005/01/25/why_i_dont_use/关于“固定”效应与“随机”效应。
更新:Ben Bolker 下面的精彩评论指出,在 R 中使用时可以提供更多信息predict
命令来使用data=mtcars
选项而不是美元符号:
data(mtcars)
m1 <- glmer(mtcars$am ~ 1 + mtcars$wt + (1|mtcars$gear), family="binomial")
m2 <- glmer(am ~ 1 + wt + (1|gear), family="binomial", data=mtcars)
p1 <- predict(m1); p2 <- predict(m2)
names(p1) # not that informative...
names(p2) # very informative!