Estoy tratando de pasar de usar el ez
paquete a lme
ANOVA para medidas repetidas (ya que espero poder usar contrastes personalizados con lme
).
Siguiendo el consejo de esta publicación de blog , pude configurar el mismo modelo usando ambos aov
(como lo hace ez
, cuando se solicitó) y lme
. Sin embargo, mientras que en el ejemplo dado en esa publicación los valores F coinciden perfectamente entre ( aov
y lme
lo comprobé, y lo hacen), este no es el caso para mis datos. Aunque los valores F son similares, no son lo mismo.
aov
devuelve un valor f de 1.3399, lme
devuelve 1.36264. Estoy dispuesto a aceptar el aov
resultado como el "correcto", ya que esto también es lo que SPSS devuelve (y esto es lo que cuenta para mi campo / supervisor).
Preguntas:
Sería genial si alguien pudiera explicar por qué existe esta diferencia y cómo puedo usarla
lme
para proporcionar resultados creíbles. (También estaría dispuesto a usar enlmer
lugar delme
para este tipo de cosas, si da el resultado "correcto". Sin embargo, no lo he usado hasta ahora).Después de resolver este problema, me gustaría ejecutar un análisis de contraste. Especialmente me interesaría el contraste de agrupar los dos primeros niveles de factor (es decir,
c("MP", "MT")
) y comparar esto con el tercer nivel de factor (es decir,"AC"
). Además, probar el tercer nivel versus el cuarto nivel de factor (es decir,"AC"
versus"DA"
).
Datos:
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))
Y el codigo:
require(nlme)
summary(aov(value ~ factor+Error(id/factor), data = tau.base))
anova(lme(value ~ factor, data = tau.base, random = ~1|id))
lme
resultados del libro de texto estándar ANOVA (dado por aov
, y que es lo que necesito), esta no es una opción para mí. En mi artículo quiero informar un ANOVA, no algo así como un ANOVA. Curiosamente, Venables y Ripley (2002, p. 285) muestran que ambos enfoques conducen a estimaciones idénticas. Pero las diferencias en los valores de F me dejan con un mal presentimiento. Además, Anova()
(desde car
) devuelve solo valores de Chi² para los lme
objetos. Por lo tanto, para mí, mi primera pregunta aún no ha sido respondida.
lme
; pero para contrastes, glht
funciona también en los lm
ajustes, no solo en los lme
ajustes. (Además, los lme
resultados son los resultados de los libros de texto estándar también.)
lm
un análisis de medidas repetidas. Solo aov
puede manejar medidas repetidas pero devolverá un objeto de clase aovlist
que desafortunadamente no es manejado por glht
.
lm
usa el error residual como el término de error para todos los efectos; cuando hay efectos que deberían usar un término de error diferente, aov
es necesario (o en su lugar, usar los resultados de lm
para calcular las estadísticas F manualmente). En su ejemplo, el término de error para factor
es la id:factor
interacción, que es el término de error residual en un modelo aditivo. Compara tus resultados con anova(lm(value~factor+id))
.