如何让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
相关产品推荐
相关产品推荐

