Estou tentando deixar de usar o ez
pacote lme
para medidas repetidas ANOVA (como espero poder usar contrastes personalizados lme
).
Seguindo o conselho desta postagem no blog, consegui configurar o mesmo modelo usando os dois aov
(como faz ez
, quando solicitado) e lme
. No entanto, enquanto no exemplo dado nesse post os valores F concordam perfeitamente entre aov
e lme
(eu verifiquei e eles concordam ), esse não é o caso dos meus dados. Embora os valores- F sejam semelhantes, eles não são os mesmos.
aov
retorna um valor f de 1,33399, lme
retorna 1,36264. Estou disposto a aceitar o aov
resultado como o "correto", pois também é isso que o SPSS retorna (e é isso que conta para o meu campo / supervisor).
Questões:
Seria ótimo se alguém pudesse explicar por que essa diferença existe e como eu posso usar
lme
para fornecer resultados confiáveis. (Eu também estaria disposto a usarlmer
, em vez delme
para este tipo de coisa, se ele dá o resultado "correta". No entanto, eu não usei até agora.)Depois de resolver esse problema, gostaria de executar uma análise de contraste. Especialmente, eu estaria interessado no contraste de agrupar os dois primeiros níveis de fator (ie
c("MP", "MT")
) e compará-lo com o terceiro nível de fator (ie"AC"
). Além disso, testando o terceiro versus o quarto nível de fator (ou seja,"AC"
versus"DA"
).
Dados:
tau.base <- structure(list(id = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L,
9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L,
22L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L,
14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 1L, 2L, 3L, 4L,
5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L,
19L, 20L, 21L, 22L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L,
11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L), .Label = c("A18K",
"D21C", "F25E", "G25D", "H05M", "H07A", "H08H", "H25C", "H28E",
"H30D", "J10G", "J22J", "K20U", "M09M", "P20E", "P26G", "P28G",
"R03C", "U21S", "W08A", "W15V", "W18R"), class = "factor"), factor = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L), .Label = c("MP", "MT", "AC", "DA"
), class = "factor"), value = c(0.9648092876, 0.2128662077, 1,
0.0607615485, 0.9912814024, 3.22e-08, 0.8073856412, 0.1465590332,
0.9981672618, 1, 1, 1, 0.9794401938, 0.6102546108, 0.428651501,
1, 0.1710644881, 1, 0.7639763913, 1, 0.5298989196, 1, 1, 0.7162733447,
0.7871177434, 1, 1, 1, 0.8560509327, 0.3096989662, 1, 8.51e-08,
0.3278862311, 0.0953598576, 1, 1.38e-08, 1.07e-08, 0.545290432,
0.1305621416, 2.61e-08, 1, 0.9834051136, 0.8044114935, 0.7938839461,
0.9910112678, 2.58e-08, 0.5762677121, 0.4750002288, 1e-08, 0.8584252623,
1, 1, 0.6020385797, 8.51e-08, 0.7964935271, 0.2238374288, 0.263377904,
1, 1.07e-08, 0.3160751898, 5.8e-08, 0.3460325565, 0.6842217296,
1.01e-08, 0.9438301877, 0.5578367224, 2.18e-08, 1, 0.9161424562,
0.2924856039, 1e-08, 0.8672987992, 0.9266688748, 0.8356425464,
0.9988463913, 0.2960361777, 0.0285680426, 0.0969063841, 0.6947998266,
0.0138254805, 1, 0.3494775301, 1, 2.61e-08, 1.52e-08, 0.5393467752,
1, 0.9069223275)), .Names = c("id", "factor", "value"), class = "data.frame", row.names = c(1L,
6L, 10L, 13L, 16L, 17L, 18L, 22L, 23L, 24L, 27L, 29L, 31L, 33L,
42L, 43L, 44L, 45L, 54L, 56L, 58L, 61L, 64L, 69L, 73L, 76L, 79L,
80L, 81L, 85L, 86L, 87L, 90L, 92L, 94L, 96L, 105L, 106L, 107L,
108L, 117L, 119L, 121L, 124L, 127L, 132L, 136L, 139L, 142L, 143L,
144L, 148L, 149L, 150L, 153L, 155L, 157L, 159L, 168L, 169L, 170L,
171L, 180L, 182L, 184L, 187L, 190L, 195L, 199L, 202L, 205L, 206L,
207L, 211L, 212L, 213L, 216L, 218L, 220L, 222L, 231L, 232L, 233L,
234L, 243L, 245L, 247L, 250L))
E o código:
require(nlme)
summary(aov(value ~ factor+Error(id/factor), data = tau.base))
anova(lme(value ~ factor, data = tau.base, random = ~1|id))
lme
resultados do manual padrão ANOVA (fornecido por aov
e que é o que eu preciso), essa não é uma opção para mim. No meu artigo, quero relatar uma ANOVA, não algo como uma ANOVA. Curiosamente Venables & Ripley (2002, p. 285) mostram que ambas as abordagens levam a estimativas idênticas. Mas as diferenças nos valores de F me deixam com um mau pressentimento. Além disso, Anova()
(from car
) retorna apenas valores de Chi² para lme
objetos. Portanto, para mim, minha primeira pergunta ainda não foi respondida.
lme
; mas, por contraste, glht
funciona lm
também, não apenas lme
. (Além disso, os lme
resultados são resultados de livros didáticos padrão também.)
lm
para uma análise de medida repetida. Só aov
pode lidar com medidas repetidas, mas retornará um objeto de classe aovlist
que infelizmente não é tratado por glht
.
lm
usa o erro residual como termo de erro para todos os efeitos; quando houver efeitos que devam usar um termo de erro diferente, aov
é necessário (ou, em vez disso, usar os resultados de lm
para calcular manualmente as estatísticas F). No seu exemplo, o termo de erro para factor
é a id:factor
interação, que é o termo de erro residual em um modelo aditivo. Compare seus resultados com anova(lm(value~factor+id))
.