在 emmeans 中定义对比
Posted
技术标签:
【中文标题】在 emmeans 中定义对比【英文标题】:Defining contrasts in emmeans 【发布时间】:2021-12-02 03:27:50 【问题描述】:我需要使用 emmeans 来计算营养水平和食物网处理的每种组合的估计边际均值(即 H + A、H + G、H + P、L + A、L + G、L + P )。
然后,我需要定义对比来测试(1)H 处理中 G 是否不同于 A,(2)L 处理中 G 是否不同于 A,以及(3)G 是否不同于 A ,对 L 和 H 处理进行平均。
这就是我所拥有的:
library(emmeans)
library(magrittr)
contmod=emmeans(modlog, specs = ~ NutrientLevel + FoodWeb)
contmod
HA = c(1,0,0,0,0,0)
LA = c(0,1,0,0,0,0)
HG = c(0,0,1,0,0,0)
LG = c(0,0,0,1,0,0)
HP = c(0,0,0,0,1,0)
LP = c(0,0,0,0,0,1)
cont=contrast(contmod, method = list("HG - HA", "LG - LA"))
但是,我收到错误消息:
Error in contrast.emmGrid(contmod, method = list("HG - HA", "LG - LA"))
: Nonconforming number of contrast coefficients
我不知道如何设置第三个对比度。
这是我的数据示例:
NutrientLevel ShadeCloth FoodWeb Tank Zoop_Chao1 Phyto#taxa Phyto_Chao1 Block
H N A 15 0 9 9 1
H N A 115 0 8 11 4
H Y G 30 11 14 17 1
H Y G 60 18 12 18 2
H Y P 76 9 10 11 2
H Y P 88 13 8 9.5 3
L N A 16 0 15 15 1
L N A 24 0 8 8 2
L N G 10 8 17 17 1
L N G 82 10 18 20 3
【问题讨论】:
【参考方案1】:这不是emmeans
定义对比度的方式。您还提供了一个字符串,而不是您创建的变量。
fit <- lm(mpg ~ factor(cyl), data = mtcars)
means <- emmeans(fit, specs = ~ cyl)
contr <- list("6 vs 4" = c(1, -1, 0),
"8 vs 4" = c(1, 0, -1))
contrast(means, method = contr)
contrast estimate SE df t.ratio p.value
6 vs 4 6.92 1.56 29 4.441 0.0001
8 vs 4 11.56 1.30 29 8.905 <.0001
【讨论】:
以上是关于在 emmeans 中定义对比的主要内容,如果未能解决你的问题,请参考以下文章