使用此示例数据集
dat <- data.frame(sample=c(1,2,3,4,5,6, 7,8,9,10,11,12),
esteem=c(1,2,3,4,5,6, 1,2,3,4,5,6),
condition=factor(c("a", "a", "a", "a","b", "b", "b", "b","c", "c", "c", "c")),
scores=c(2,4,3,5,6,13,41,30,30,23,24,24))
mod <- lm(scores~esteem*condition, data=dat)我做的是有计划的对比,我的设计是:
对比如下:
contrasts1 <- c(-2,1,1) #A vs. B and C
contrasts2 <-c(0,-1,1) #B vs. C
contrasts(dat$condition) <- cbind(contrasts1, contrasts2)
dat$condition这将产生
[1] a a a a b b b b c c c c
attr(,"contrasts")
contrasts1 contrasts2
a -2 0
b 1 -1
c 1 1
Levels: a b c通常情况下,通过x个连续变量的交互作用,我会利用正趋势在每个范畴级别得到一个连续变量的简单斜率,
emmeans::emtrends(mod, pairwise ~ condition, var="esteem")这给出了A条件下的自尊斜率,B条件下的自尊斜率,C条件下的自尊斜率。
$emtrends
condition esteem.trend SE df lower.CL upper.CL
a 0.80 1.98 6 -4.06 5.66
b -6.24 1.08 6 -8.87 -3.60
c -1.70 1.98 6 -6.56 3.16
Confidence level used: 0.95 然而,我有一个对比,比较条件A与B和C,是否有一种方法可以用正向或其他方法来获得合并条件B和C的尊重斜率?
发布于 2022-11-17 16:14:26
当然了。你这样做的方式和对比边际手段的方法一样:
> (EMT <- emtrends(mod, ~ condition, var = "esteem"))
condition esteem.trend SE df lower.CL upper.CL
a 0.80 1.98 6 -4.06 5.66
b -6.24 1.08 6 -8.87 -3.60
c -1.70 1.98 6 -6.56 3.16
Confidence level used: 0.95
> contrast(EMT, list(`a.vs.bc` = c(1, -.5, -.5), `b.vs.c` = c(0, 1, -1)), adjust = "bonf")
contrast estimate SE df t.ratio p.value
a.vs.bc 4.77 2.28 6 2.088 0.1636
b.vs.c -4.54 2.26 6 -2.009 0.1826
P value adjustment: bonferroni method for 2 tests
> ### or, if you want just the first one:
> contrast(EMT, "trt.vs.ctrl", ref = c("b", "c"))
contrast estimate SE df t.ratio p.value
a - avg(b,c) 4.77 2.28 6 2.088 0.0818有关更多示例,请参见反差
https://stackoverflow.com/questions/74468849
复制相似问题