-1

这是我的数据框(我真正的 DF 有更多的数据点):

    rearing.temp<-c("15", "15", "15", "15", "19", "19", "19", "19")
    source<-c("field", "field", "woods", "woods", "field", "field", "woods", "woods")
    runway.temp<-c("40","20","40","20","40","20","40","20")
    velocity<-c("2.3", "2.1", "1.9", "1.9", "2.3", "2.2", "2.3", "2.0")
    snail<-data.frame(rearing.temp, source, runway.temp, velocity)

这是我的模型:

mod <- lmer(velocity ~ runway.temp*source*rearing.temp + (1|family) + (1|collection site) + (1|individual.plus.family.id.combined), data=snail)

当我做一个emmeans对比时:

emmeans(mod, pairwise~runway.temp*source*rearing.temp)

我得到了 28 种不同的比较,但我只想查看在40° 跑道温度下测试的 15° 饲养的田螺与在 40° 跑道温度下测试的 15° 饲养的蜗牛的速度之间的差异。我只想对在相同温度下饲养的蜗牛进行一次比较,在相同温度下进行测试,但来自不同的栖息地。我怎样才能做到这一点?

谢谢,

里卡多

4

1 回答 1

0

contrast函数用于指定所需对比度系数的命名列表。在您的情况下,显然您有 8 个方法(2x2x2 数组),它们按顺序排列,第一个索引交替最快,最后一个因子最慢 - (1,1,1), (2,1,1), ( 1,2,1), ..., (2,2,2)。所以做这样的事情:

emm <- emmeans(mod, ~runway.temp*source*rearing.temp)
custom <- list(`111vs211` = c(1,0,0,0,-1,0,0,0),
               `211vs121` = c(0,1,-1,0,0,0,0,0))
contrast(emm, custom)

有丰富的文档和示例。参见例如? contrastvignette("contrasts", "emmeans")

于 2021-01-27T22:40:24.110 回答