Estou tentando executar uma Anova de medidas repetidas em R, seguida de alguns contrastes específicos nesse conjunto de dados. Eu acho que a abordagem correta seria usar
Anova()
o pacote do carro.
Vamos ilustrar minha pergunta com o exemplo retirado do ?Anova
uso dos
OBrienKaiser
dados (Nota: omiti o fator sexo do exemplo):
Temos um design com um fator entre sujeitos, tratamento (3 níveis: controle, A, B) e 2 repetidos fatores de medidas (dentro dos sujeitos), fase (3 níveis: pré-teste, pós-teste, acompanhamento) e hora (5 níveis: 1 a 5).
A tabela ANOVA padrão é dada por (ao contrário do exemplo (Anova), mudei para Soma de quadrados do tipo 3, que é o que meu campo deseja):
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)
Agora, imagine que a interação de mais alta ordem teria sido significativa (o que não é o caso) e gostaríamos de explorá-la ainda mais com os seguintes contrastes:
Existe uma diferença entre as horas 1 e 2 versus as horas 3 (contraste 1) e entre as horas 1 e 2 versus horas 4 e 5 (contraste 2) nas condições de tratamento (A&B juntas)?
Em outras palavras, como faço para especificar esses contrastes:
((treatment %in% c("A", "B")) & (hour %in% 1:2))
versus((treatment %in% c("A", "B")) & (hour %in% 3))
((treatment %in% c("A", "B")) & (hour %in% 1:2))
versus((treatment %in% c("A", "B")) & (hour %in% 4:5))
Minha idéia seria executar outra ANOVA, omitindo a condição de tratamento não necessária (controle):
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)
No entanto, ainda não tenho idéia de como configurar a matriz de contraste dentro do sujeito apropriada comparando as horas 1 e 2 com 3 e 1 e 2 com 4 e 5. E não tenho certeza se a omissão do grupo de tratamento não necessário é realmente uma boa ideia, pois altera o termo geral do erro.
Antes de ir, Anova()
eu também estava pensando em ir lme
. No entanto, existem pequenas diferenças nos valores de F ep entre a ANOVA do livro e o que é retornado anove(lme)
devido a possíveis variações negativas na ANOVA padrão (que não são permitidaslme
). Da mesma forma, alguém me indicou o gls
que permite o ajuste de medidas repetidas ANOVA, no entanto, não há argumento de contraste.
Para esclarecer: eu quero um teste F ou t (usando somas de quadrados do tipo III) que responda se os contrastes desejados são significativos ou não.
Atualizar:
Eu já fiz uma pergunta muito semelhante no R-help, não houve resposta .
Perguntas semelhantes foram feitas no R-help há algum tempo. No entanto, as respostas também não resolveram o problema.
Atualização (2015):
Como essa pergunta ainda gera alguma atividade, especificar teses e basicamente todos os outros contrastes agora pode ser feito de maneira relativamente fácil com o afex
pacote em combinação com o lsmeans
pacote, conforme descrito na vinheta afex .
treatment
, 3) para cada pessoa média acima dos níveis deprePostFup
, 4) para cada pessoa média durante horas 1,2 (= grupo de dados 1) bem como durante as horas 3,4 (= grupo de dados 2), 5) execute o teste t para 2 grupos dependentes. Como Maxwell e Delaney (2004), bem como Kirk (1995), desencorajam contrastes com um termo de erro comum em projetos internos, essa poderia ser uma alternativa simples.