Я пытаюсь выполнить повторные измерения Anova в R с последующими некоторыми конкретными контрастами в этом наборе данных. Я думаю, что правильный подход будет использовать
Anova()
из пакета автомобилей.
Позволяет проиллюстрировать мой вопрос на примере взят из ?Anova
используя
OBrienKaiser
данные (Примечание: Я опущен гендерный фактор из примера):
Мы имеем конструкцию с одним между субъектами фактором, лечением (3 уровня: контроль, A, B), и 2 повторными -измерения (в рамках предметов) факторы, фаза (3 уровня: предварительный тест, пост-тест, наблюдение) и час (5 уровней: от 1 до 5).
Стандартная таблица ANOVA задается как (в отличие от примера (Anova) я переключился на тип 3 Суммы квадратов, это то, чего хочет мое поле):
require(car)
phase <- factor(rep(c("pretest", "posttest", "followup"), c(5, 5, 5)),
levels=c("pretest", "posttest", "followup"))
hour <- ordered(rep(1:5, 3))
idata <- data.frame(phase, hour)
mod.ok <- lm(cbind(pre.1, pre.2, pre.3, pre.4, pre.5, post.1, post.2, post.3, post.4, post.5, fup.1, fup.2, fup.3, fup.4, fup.5) ~ treatment, data=OBrienKaiser)
av.ok <- Anova(mod.ok, idata=idata, idesign=~phase*hour, type = 3)
summary(av.ok, multivariate=FALSE)
Теперь представьте, что взаимодействие наивысшего порядка было бы значительным (что не так), и мы хотели бы изучить его далее со следующими контрастами:
есть ли разница между часами 1 и 2 по сравнению с часами 3 (контраст 1) и между часами 1 и 2 по сравнению с 4 и 5 часами (контраст 2) в условиях лечения (A и B вместе)?
Другими словами, как мне указать эти контрасты:
((treatment %in% c("A", "B")) & (hour %in% 1:2))
против((treatment %in% c("A", "B")) & (hour %in% 3))
((treatment %in% c("A", "B")) & (hour %in% 1:2))
против((treatment %in% c("A", "B")) & (hour %in% 4:5))
Моя идея состояла бы в том, чтобы запустить другую ANOVA, пропуская ненужное условие лечения (контроль):
mod2 <- lm(cbind(pre.1, pre.2, pre.3, pre.4, pre.5, post.1, post.2, post.3, post.4, post.5, fup.1, fup.2, fup.3, fup.4, fup.5) ~ treatment, data=OBrienKaiser, subset = treatment != "control")
av2 <- Anova(mod2, idata=idata, idesign=~phase*hour, type = 3)
summary(av2, multivariate=FALSE)
Тем не менее, я до сих пор не знаю, как настроить соответствующую контрастную матрицу внутри объекта, сравнивая часы 1 и 2 с 3 и 1 и 2 с 4 и 5. И я не уверен, что если вы пропустите ненужную группу лечения, это действительно хорошая идея, так как она меняет общий термин ошибки.
Прежде чем идти, Anova()
я тоже думал о том, чтобы пойти lme
. Однако существуют небольшие различия в значениях F и p между ANOVA из учебника и тем, что возвращается из- anove(lme)
за возможных отрицательных отклонений в стандартном ANOVA (которые не допускаются вlme
). Относительно того, кто-то указал мне, gls
что позволяет подогнать повторные измерения ANOVA, однако, это не имеет контрастного аргумента.
Чтобы уточнить: я хочу F или t-тест (используя суммы квадратов типа III), который отвечает, являются ли желаемые контрасты значительными или нет.
Обновить:
Я уже задавал очень похожий вопрос по R-help, ответа не было .
Подобные вопросы были заданы на R-help некоторое время назад. Тем не менее, ответы также не решили проблему.
Обновление (2015):
Поскольку этот вопрос все еще порождает некоторую активность, определение тезисов и, в основном, всех других контрастов теперь может быть сделано относительно легко с помощью afex
пакета в сочетании с lsmeans
пакетом, как описано в виньетке afex .
treatment
, 3) для каждого человека, среднего по уровнямprePostFup
, 4) для каждого человека, среднего по часам 1,2 (= группа данных 1) а также в течение часов 3,4 (= группа данных 2), 5) выполнить t-тест для 2 зависимых групп. Так как Maxwell & Delaney (2004), а также Kirk (1995) не рекомендуют делать контрасты с объединенным термином ошибки в рамках внутренних проектов, это может быть простой альтернативой.