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

如何让modelbased包的estimate_contrasts遵循数据因子水平顺序?

解决estimate_contrasts保留数据因子水平顺序的方法

要让estimate_contrasts()遵循数据中定义的因子水平顺序,只需在调用函数时添加sort = FALSE参数即可,具体操作如下:

  • 先确认数据中的因子水平已按需求设定(以iris数据集为例):

    # 重新指定Species的因子水平顺序
    iris$Species <- factor(iris$Species, levels = c("virginica", "versicolor", "setosa"))
    
  • 拟合模型后,调用estimate_contrasts()时设置sort = FALSE:

    library(modelbased)
    
    # 拟合线性模型
    model <- lm(Sepal.Length ~ Species, data = iris)
    
    # 保留原因子顺序的事后比较
    results <- estimate_contrasts(model, contrast = "Species", sort = FALSE)
    print(results)
    

sort是modelbased系列函数的通用参数,默认值为TRUE(会按字母顺序排序因子水平),将其设为FALSE就能强制函数遵循数据中预先定义的因子水平顺序,和emmeans的行为保持一致。

内容的提问来源于stack exchange,提问作者Juliette Tariel-Adam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 06:14:55