使用 emmeans 测试模型之间的显着性
test significance between models with emmeans
假设我有这两个模型
dat1 <- data.frame(x=factor(c(1,2,1,1,2,2)),y=c(2,5,2,1,7,9))
dat2 <- data.frame(x=factor(c(1,2,1,1,2,2)),y=c(3,3,4,3,4,2))
mod1 <- lm(y~x,data=dat1)
mod2 <- lm(y~x, data=dat2)
并计算每个模型x
水平之间的t检验
t1 <- pairs(emmeans(mod1, ~x))
t2 <- pairs(emmeans(mod2, ~x))
我如何使用 emmeans 评估这两个模型对于这种对比是否有显着差异?
dat1$dataset <- "dat1"
dat2$dataset <- "dat2"
alldat <- rbind(dat1, dat2)
modsame <- lm(y ~ x, data = alldat)
moddiff <- lm(y ~ x * dataset, data = alldat)
anova(modsame, moddiff)
不要尝试使用 emmeans()
来做到这一点;那不是它的目的。上面的 anova()
调用比较了两个模型:modsame
假定每个数据集中的 x
效果相同; moddiff
添加了两个项,dataset
解释了总体均值的变化,x:dataset
解释了 x
效应的变化。
两个模型之间的比较包括 dataset
和 x:dataset
效果的联合测试——这是一个 F 用 2 个分子 d.f 进行测试。 -- 不是 t 测试。
假设我有这两个模型
dat1 <- data.frame(x=factor(c(1,2,1,1,2,2)),y=c(2,5,2,1,7,9))
dat2 <- data.frame(x=factor(c(1,2,1,1,2,2)),y=c(3,3,4,3,4,2))
mod1 <- lm(y~x,data=dat1)
mod2 <- lm(y~x, data=dat2)
并计算每个模型x
水平之间的t检验
t1 <- pairs(emmeans(mod1, ~x))
t2 <- pairs(emmeans(mod2, ~x))
我如何使用 emmeans 评估这两个模型对于这种对比是否有显着差异?
dat1$dataset <- "dat1"
dat2$dataset <- "dat2"
alldat <- rbind(dat1, dat2)
modsame <- lm(y ~ x, data = alldat)
moddiff <- lm(y ~ x * dataset, data = alldat)
anova(modsame, moddiff)
不要尝试使用 emmeans()
来做到这一点;那不是它的目的。上面的 anova()
调用比较了两个模型:modsame
假定每个数据集中的 x
效果相同; moddiff
添加了两个项,dataset
解释了总体均值的变化,x:dataset
解释了 x
效应的变化。
两个模型之间的比较包括 dataset
和 x:dataset
效果的联合测试——这是一个 F 用 2 个分子 d.f 进行测试。 -- 不是 t 测试。