0

假设我有这两个模型

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并在每个模型的水平之间进行测试计算

t1 <- pairs(emmeans(mod1, ~x))
t2 <- pairs(emmeans(mod2, ~x))

我如何使用 emmeans 评估这两个模型对于这种对比是否有显着差异?

4

1 回答 1

1
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——它是具有 2 个分子 df 的F检验——而不是t检验。

于 2019-04-27T02:26:51.707 回答