估计 lsmeans 的差异
Estimating difference in lsmeans
如何使用 lsmeans
估计两个成对对比中的 差异 ?例如——想象一个连续的 dv 和两个因子预测变量
library(lsmeans)
library(tidyverse)
dat <- data.frame(
y = runif(30),
x1 = 1:2 %>%
factor %>%
sample(30, T),
x2 = letters[1:3] %>%
factor %>%
sample(30, T)
)
lm1 <- lm(y ~ x1 * x2, data = dat)
这个电话让我得到 x2
对 x1
效果的估计
lsmeans(lm1, ~ x1 | x2) %>%
pairs
returns
x2 = a:
contrast estimate SE df t.ratio p.value
1 - 2 -0.150437681 0.2688707 24 -0.560 0.5810
x2 = b:
contrast estimate SE df t.ratio p.value
1 - 2 -0.048950972 0.1928172 24 -0.254 0.8018
x2 = c:
contrast estimate SE df t.ratio p.value
1 - 2 -0.006819473 0.2125610 24 -0.032 0.9747
这很好,但我现在想要这些对比的差异,看看这些1 - 2
差异本身是否根据x2
级别不同.
据我了解你的问题,你可以使用这个解决方案:
lm1 <- lm(y ~ x1 * x2, data = dat)
means.int <- lsmeans(lm1, ~x1 + x2)
dd <- contrast(means.int, list(`a--b` = c(1,-1,-1,1,0,0),
`a--c`=c(1,-1,0,0,-1,1),
`b--c` = c(0,0,1,-1,-1,1)),
adjust = 'mvt')
使用
lsm = lsmeans(lm1, ~ x1 * x2)
contrast(lsm, interaction = “pairwise”)
如何使用 lsmeans
估计两个成对对比中的 差异 ?例如——想象一个连续的 dv 和两个因子预测变量
library(lsmeans)
library(tidyverse)
dat <- data.frame(
y = runif(30),
x1 = 1:2 %>%
factor %>%
sample(30, T),
x2 = letters[1:3] %>%
factor %>%
sample(30, T)
)
lm1 <- lm(y ~ x1 * x2, data = dat)
这个电话让我得到 x2
x1
效果的估计
lsmeans(lm1, ~ x1 | x2) %>%
pairs
returns
x2 = a:
contrast estimate SE df t.ratio p.value
1 - 2 -0.150437681 0.2688707 24 -0.560 0.5810
x2 = b:
contrast estimate SE df t.ratio p.value
1 - 2 -0.048950972 0.1928172 24 -0.254 0.8018
x2 = c:
contrast estimate SE df t.ratio p.value
1 - 2 -0.006819473 0.2125610 24 -0.032 0.9747
这很好,但我现在想要这些对比的差异,看看这些1 - 2
差异本身是否根据x2
级别不同.
据我了解你的问题,你可以使用这个解决方案:
lm1 <- lm(y ~ x1 * x2, data = dat)
means.int <- lsmeans(lm1, ~x1 + x2)
dd <- contrast(means.int, list(`a--b` = c(1,-1,-1,1,0,0),
`a--c`=c(1,-1,0,0,-1,1),
`b--c` = c(0,0,1,-1,-1,1)),
adjust = 'mvt')
使用
lsm = lsmeans(lm1, ~ x1 * x2)
contrast(lsm, interaction = “pairwise”)