如何在R中运行以被试和词汇为随机变量的混合效应多项逻辑回归?
含被试与词汇随机效应的多项逻辑回归实现
数据预处理
首先需要将示例数据中的分类变量转换为因子类型,避免模型将其误判为连续变量:
# 转换变量类型 d$ppt <- as.factor(d$ppt) d$word <- as.factor(d$word) d$IV <- as.factor(d$IV) d$DV <- as.factor(d$DV) # 可选:指定因变量参考水平(默认取因子第一个水平,这里设为1) d$DV <- relevel(d$DV, ref = "1")
使用glmmTMB拟合模型
glmmTMB包支持拟合含混合效应的多项逻辑回归,步骤如下:
- 安装并加载包(首次运行需执行安装命令):
# install.packages("glmmTMB") library(glmmTMB)
- 构建模型:
指定IV为固定效应,ppt(被试)和word(词汇)为随机截距项,模型族选择多项逻辑回归:
# 拟合混合效应多项逻辑回归模型 model <- glmmTMB( formula = DV ~ IV + (1|ppt) + (1|word), data = d, family = multinomial(link = "logit") )
- 查看模型结果:
summary(model)
补充说明
- 如果需要加入随机斜率(即
IV的效应在不同被试/词汇间存在差异),可将随机效应项改为(IV|ppt)或(IV|word),但你的样本量(10名被试、10个词汇)较小,随机斜率模型可能出现收敛问题,建议优先从随机截距模型开始。 - 若偏好贝叶斯框架,可使用
brms包拟合模型,更适合小样本场景:
# install.packages("brms") library(brms) brm_model <- brm( formula = DV ~ IV + (1|ppt) + (1|word), data = d, family = categorical(), chains = 4, iter = 2000 ) summary(brm_model)
内容的提问来源于stack exchange,提问作者Dave
相关产品推荐
相关产品推荐

