You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将brms构建的多分类回归模型转换为emmeans可处理的对象

解决方案

你遇到的报错是因为brms的多分类(categorical)模型会为每个非参照的结局水平生成独立的分布参数,emmeans默认不知道要汇总哪一个参数的边际均值,只需要在调用emmeans()时加上categorical = TRUE参数即可自动适配多分类输出,不需要单独调用ref_grid():

# 直接调用emmeans,指定categorical参数识别多分类结局
em_brm <- emmeans(test_brm, 
                  specs = ~prog2|ses,
                  categorical = TRUE)

# 转换为logit尺度,和nnet的结果对齐
em_brm_logit <- regrid(em_brm, transform = "logit")
em_brm_logit

运行上述代码后得到的em_brm_logit对象结构和你用nnet得到的结果完全一致,后续的成对对比、自定义检验操作都可以直接沿用你之前针对nnet对象写的代码。
如果你确实需要先构建参考网格,也可以按报错提示分别指定dpar参数提取单个类别的参数后再合并,不过直接加categorical = TRUE是最简单的适配方案。

内容的提问来源于stack exchange,提问作者llewmills

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 09:54:04