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

如何不使用relevel()实现clmm模型的多组比较?

解决clmm模型非参考组两两比较的方法

不用反复调用relevel(),直接用emmeans包就能搞定所有组的两两对比,步骤如下:

1. 安装并加载依赖包

如果没装过emmeans,先安装:

install.packages("emmeans")
library(ordinal)
library(emmeans)

2. 基于已有的clmm模型做两两比较

假设你的模型是这样的(包含多水平固定效应和随机效应):

# 示例clmm模型(替换成你的实际模型)
model <- clmm(ordered_y ~ factor1 + factor2 + factor3 + factor4 + (1|random_grp1) + (1|random_grp2), data = your_dataset)

单个自变量的所有两两比较

比如要对比factor1的所有水平(不管原模型参考组是谁):

# 提取该自变量的调整后边际均值
emm_factor1 <- emmeans(model, ~ factor1)
# 生成所有组的两两对比结果
pairs(emm_factor1)

运行后会直接输出所有组间的对比(比如A-B、A-C、B-C),包含估计值、标准误、p值,完全不用修改原模型的参考组。

交互项的两两比较

如果需要分析两个自变量的交互效应(比如factor1和factor2的交互):

emm_interaction <- emmeans(model, ~ factor1 * factor2)
pairs(emm_interaction)

为什么这个方法靠谱?

  • 基于你已拟合的clmm模型计算,所有推断逻辑和原模型完全一致,不会出现和原模型结果矛盾的情况
  • 不管自变量有多少水平,一次操作就能输出所有两两对比,省去反复调整参考组、重新拟合模型的麻烦
  • 完美支持含随机效应的clmm模型,会正确考虑随机效应的方差结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 00:30:53