Comment puis-je tester les effets dans une ANOVA Split-Plot en utilisant des comparaisons de modèles appropriées à utiliser avec les arguments X
et M
de anova.mlm()
dans R? Je connais bien ?anova.mlm
Dalgaard (2007) [1]. Malheureusement, il ne brosse que les conceptions Split-Plot. Faire cela dans une conception entièrement randomisée avec deux facteurs intra-sujets:
N <- 20 # 20 subjects total
P <- 3 # levels within-factor 1
Q <- 3 # levels within-factor 2
DV <- matrix(rnorm(N* P*Q), ncol=P*Q) # random data in wide format
id <- expand.grid(IVw1=gl(P, 1), IVw2=gl(Q, 1)) # intra-subjects layout of data matrix
library(car) # for Anova()
fitA <- lm(DV ~ 1) # between-subjects design: here no between factor
resA <- Anova(fitA, idata=id, idesign=~IVw1*IVw2)
summary(resA, multivariate=FALSE, univariate=TRUE) # all tests ...
Les comparaisons de modèles suivantes conduisent aux mêmes résultats. Le modèle restreint n'inclut pas l'effet en question mais tous les autres effets du même ordre ou inférieur, le modèle complet ajoute l'effet en question.
anova(fitA, idata=id, M=~IVw1 + IVw2, X=~IVw2, test="Spherical") # IVw1
anova(fitA, idata=id, M=~IVw1 + IVw2, X=~IVw1, test="Spherical") # IVw2
anova(fitA, idata=id, M=~IVw1 + IVw2 + IVw1:IVw2,
X=~IVw1 + IVw2, test="Spherical") # IVw1:IVw2
Une conception Split-Splot avec un facteur intra et un entre sujets:
idB <- subset(id, IVw2==1, select="IVw1") # use only first within factor
IVb <- gl(2, 10, labels=c("A", "B")) # between-subjects factor
fitB <- lm(DV[ , 1:P] ~ IVb) # between-subjects design
resB <- Anova(fitB, idata=idB, idesign=~IVw1)
summary(resB, multivariate=FALSE, univariate=TRUE) # all tests ...
Ce sont les anova()
commandes pour répliquer les tests, mais je ne sais pas pourquoi ils fonctionnent. Pourquoi les tests des comparaisons de modèles suivants conduisent-ils aux mêmes résultats?
anova(fitB, idata=idB, X=~1, test="Spherical") # IVw1, IVw1:IVb
anova(fitB, idata=idB, M=~1, test="Spherical") # IVb
Deux facteurs intra-sujets et un facteur inter-sujets:
fitC <- lm(DV ~ IVb) # between-subjects design
resC <- Anova(fitC, idata=id, idesign=~IVw1*IVw2)
summary(resC, multivariate=FALSE, univariate=TRUE) # all tests ...
Comment reproduire les résultats ci-dessus avec les comparaisons de modèles correspondantes à utiliser avec les arguments X
et M
de anova.mlm()
? Quelle est la logique derrière ces comparaisons de modèles?
EDIT: suncoolsu a souligné qu'à toutes fins pratiques, les données de ces conceptions devraient être analysées à l'aide de modèles mixtes. Cependant, j'aimerais toujours comprendre comment reproduire les résultats de summary(Anova())
avec anova.mlm(..., X=?, M=?)
.
[1]: Dalgaard, P. 2007. Nouvelles fonctions pour l'analyse multivariée. R News, 7 (2), 2-7.
lme4
package pour s'adapter au modèle ET NONlm
. Mais cela peut être une vue très spécifique basée sur un livre. Je laisserai les commentaires des autres à ce sujet. Je peux donner un exemple basé sur la façon dont je l'interprète qui est différent du vôtre.Réponses:
Le
X
etM
spécifient essentiellement les deux modèles que vous souhaitez comparer, mais uniquement en termes d'effets intra-sujet; il montre ensuite les résultats de l'interaction de tous les effets inter-sujets (y compris l'interception) avec les effets intra-sujets qui ont changé entreX
etM
.Vos exemples
fitB
sont plus faciles à comprendre si nous ajoutons les valeurs par défaut pourX
etM
:Le premier modèle est le changement des effets non internes au sujet (tous ont la même moyenne) à une moyenne différente pour chacun, nous avons donc ajouté l'
id
effet aléatoire, ce qui est la bonne chose pour tester l'interception globale et l'effet global entre les sujets sur.Le deuxième modèle annonce l'
id:IVw1
interaction, ce qui est la bonne chose à testerIVw1
et lesIVw1:IVb
termes contre. Puisqu'il n'y a qu'un effet intra-sujet (avec trois niveaux), la valeur par défaut dediag(3)
dans le deuxième modèle en tiendra compte; ce serait équivalent à courirPour votre
fitC
, je crois que ces commandes recréeront leAnova
résumé.Maintenant, comme vous l'avez découvert, ces commandes sont vraiment délicates. Heureusement, il n'y a plus beaucoup de raisons de les utiliser. Si vous êtes prêt à assumer la sphéricité, vous devez simplement utiliser
aov
, ou pour une syntaxe encore plus simple, simplement utiliserlm
et calculer vous-même les bons tests F. Si vous n'êtes pas prêt à assumer la sphéricité, l'utilisationlme
est vraiment la voie à suivre car vous obtenez beaucoup plus de flexibilité que vous ne le faites avec les corrections GG et HF.Par exemple, voici le code
aov
etlm
pour votrefitA
. Vous devez d'abord avoir les données au format long; voici une façon de le faire:Et voici le
lm and
code aov`:la source
anova()
par le problèmeAnova()
décrit ici . Mais votre dernière suggestion fonctionne aussi bien et est plus simple. (Petite chose: je pense que les 2 dernières lignes manquent chacune 1 parenthèse fermante, et il devrait lireError(id/(IVw1*IVw2))
)Les conceptions de parcelles divisées sont originaires de l'agriculture, d'où le nom. Mais ils se produisent fréquemment et je dirais - le cheval de bataille de la plupart des essais cliniques. Le graphique principal est traité avec un niveau d'un facteur tandis que les niveaux d'un autre facteur peuvent varier avec les sous-graphiques. La conception résulte de restrictions sur une randomisation complète. Par exemple: un champ peut être divisé en quatre sous-parcelles. Il peut être possible de planter différentes variétés dans des sous-parcelles, mais un seul type d'irrigation peut être utilisé pour l'ensemble du champ. Pas la distinction entre les divisions et les blocs. Les blocs sont des caractéristiques des unités expérimentales dont nous avons la possibilité de tirer parti dans la conception expérimentale, car nous savons qu'ils sont là. Les scissions, en revanche, imposent des restrictions sur les affectations de facteurs possibles. Ils imposent des exigences à la conception qui empêchent une randomisation complète.
Ils sont beaucoup utilisés dans les essais cliniques où lorsqu'un facteur est facile à changer tandis qu'un autre facteur prend beaucoup plus de temps à changer. Si l'expérimentateur doit effectuer toutes les séries pour chaque niveau du facteur difficile à modifier consécutivement, une conception de parcelle divisée en résulte avec le facteur difficile à changer représentant le facteur de parcelle entier.
Voici un exemple: Dans un essai agricole en champ, l'objectif était de déterminer les effets de deux variétés de cultures et de quatre méthodes d'irrigation différentes. Huit champs étaient disponibles, mais un seul type d'irrigation peut être appliqué à chaque champ. Les champs peuvent être divisés en deux parties avec une variété différente dans chaque partie. Le facteur de parcelle entier est l'irrigation, qui devrait être assignée au hasard aux champs. Dans chaque champ, la variété est attribuée.
Voici comment procéder dans
R
:Fondamentalement, ce que dit ce modèle, l'irrigation et la variété sont des effets fixes et la variété est imbriquée dans l'irrigation. Les champs sont les effets aléatoires et imagineront quelque chose comme
Mais c'était une variante spéciale avec un effet de tracé entier fixe et un effet de sous-tracé. Il peut y avoir des variantes dans lesquelles une ou plusieurs sont aléatoires. Il peut y avoir des conceptions plus compliquées comme split-split. En gros, vous pouvez aller sauvage et fou. Mais étant donné que la structure et la distribution sous-jacentes (c'est-à-dire fixes ou aléatoires, imbriquées ou croisées, ..) sont clairement comprises, la
lmer-Ninja
volonté de modéliser ne posera aucun problème. Peut-être que l'interprétation sera un gâchis.Concernant les comparaisons, disons que vous avez
lmer1
etlmer2
:vous donnera le test approprié basé sur la statistique du test du chi carré avec des degrés de liberté égaux à la différence des paramètres.
cf: Faraway, J., Extension de modèles linéaires avec R.
Casella, G., Conception statistique
la source