复杂对比中系数顺序正确性及规则咨询(R语言emmeans)
关于emmeans中对比系数设置的问题解答
1. 你的系数设置不正确
你当前的系数c(0, .5, -.5, 0, .5, -5)存在笔误:sunflower对应的最后一个系数写成了-5,这会导致对比逻辑完全错误。要实现「豆类饲料(horsebean、soybean)均值 vs 籽类饲料(linseed、sunflower)均值」的对比,正确的系数规则是:
- 不需要纳入对比的组(casein、meatmeal)系数设为0
- 豆类的两个组各赋予正权重,权重总和为1(两个组各0.5即可)
- 籽类的两个组各赋予负权重,权重总和为-1(两个组各-0.5即可)
正确的系数应该是:
c.weights1 <- c(0, 0.5, -0.5, 0, 0.5, -0.5)
2. 系数顺序的决定因素
系数的顺序完全由你设定的feed因子的水平顺序决定,也就是你通过factor()函数指定的labels参数的排序:c('casein', 'horsebean', 'linseed', 'meatmeal', 'soybean', 'sunflower'),系数向量的第1到第6位,会和这个顺序一一对应。
3. 系数顺序确实遵循你设定的因子标签顺序
是的,你用factor(chickwts$feed, labels = ...)指定的标签顺序,就是emmeans识别系数对应组的依据。如果不确定,随时可以用levels(chickwts$feed)命令确认当前因子的水平顺序,确保系数和组的对应关系准确。
内容的提问来源于stack exchange,提问作者Hung
相关产品推荐
相关产品推荐

