J'essaie de passer de l'utilisation du ezpackage à lmedes mesures répétées ANOVA (car j'espère que je pourrai utiliser des contrastes personnalisés avec lme).
En suivant les conseils de ce billet de blog, j'ai pu configurer le même modèle en utilisant à la fois aov(comme le fait ez, sur demande) et lme. Cependant, alors que dans l'exemple donné dans ce post, les valeurs F sont parfaitement d'accord entre aovet lme(je l'ai vérifié, et elles le font), ce n'est pas le cas pour mes données. Bien que les valeurs F soient similaires, elles ne sont pas identiques.
aovrenvoie une valeur f de 1,3399, lmerenvoie 1,36264. Je suis prêt à accepter le aovrésultat comme étant le "bon" car c'est aussi ce que SPSS renvoie (et c'est ce qui compte pour mon terrain / mon superviseur).
Des questions:
Ce serait formidable si quelqu'un pouvait expliquer pourquoi cette différence existe et comment je peux l'utiliser
lmepour fournir des résultats crédibles. (Je serais également disposé à utiliser à lalmerplace delmece type de contenu, s'il donne le résultat "correct". Cependant, je ne l'ai pas utilisé jusqu'à présent.)Après avoir résolu ce problème, je voudrais exécuter une analyse de contraste. En particulier, je serais intéressé par le contraste de la mise en commun des deux premiers niveaux de facteur (c.-à-d.
c("MP", "MT")) Et de le comparer avec le troisième niveau de facteur (c.-à"AC"-d.). De plus, tester le troisième par rapport au quatrième niveau de facteur (c.-à-d. Par"AC"rapport à"DA").
Les données:
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))
Et le code:
require(nlme)
summary(aov(value ~ factor+Error(id/factor), data = tau.base))
anova(lme(value ~ factor, data = tau.base, random = ~1|id))
lmerésultats du manuel standard ANOVA (donné par aov, et qui est ce dont j'ai besoin), ce n'est pas une option pour moi. Dans mon article, je veux signaler une ANOVA, pas quelque chose comme une ANOVA. Il est intéressant de noter que Venables et Ripley (2002, p. 285) montrent que les deux approches conduisent à des estimations identiques. Mais les différences de valeurs F me laissent un mauvais pressentiment. De plus, Anova()(from car) ne renvoie que des valeurs Chi² pour les lmeobjets. Par conséquent, pour moi, ma première question n'a pas encore de réponse.
lme; mais pour les contrastes, glhtfonctionne aussi sur les lmajustements, pas seulement sur les lmeajustements. (De plus, les lmerésultats sont également des résultats standards des manuels scolaires.)
lmpour une analyse de mesure répétée. Seul aovpeut gérer des mesures répétées mais retournera un objet de classe aovlistqui n'est malheureusement pas géré par glht.
lmutilise l'erreur résiduelle comme terme d'erreur pour tous les effets; lorsqu'il y a des effets qui devraient utiliser un terme d'erreur différent, aovest nécessaire (ou à la place, utiliser les résultats de lmpour calculer les F-stats manuellement). Dans votre exemple, le terme d'erreur pour factorest l' id:factorinteraction, qui est le terme d'erreur résiduel dans un modèle additif. Comparez vos résultats à anova(lm(value~factor+id)).