проверить значение между моделями с emmeans - PullRequest
0 голосов
/ 26 апреля 2019

Допустим, у меня есть эти две модели

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?

1 Ответ

1 голос
/ 27 апреля 2019
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 тест.

...