Modèle linéaire mixte avec effets croisés répétés et structure de covariance AR1, en R
j'ai des données physiologiques intra-sujet des participants (part
), qui ont tous regardé des stimuli (lecture de journaux) sur trois tours (round
), qui ont chacun cinq articles (paper
), et à l'intérieur de chaque il y a un nombre variable de visites (visit
) dans le journal. J'ai deux facteurs (CONDhier
et CONDabund
) plus l'interaction pour prédire l'état physiologique (e.g.,EDA
), qui est généralement autorégressif. J'essaie de tenir compte des différences individuelles de physiologie. avec des effets aléatoires (nous nous contentons d'intercepter seulement pour l'instant), et peut-être la fatigue au cours des rondes avec un autre effet aléatoire.
ainsi, mon modèle que je voudrais exécuter en R serait, en SPSS:
MIXED EDA BY CONDhier CONDabund
/FIXED=CONDhier CONDabund CONDhier*CONDabund | SSTYPE(3)
/RANDOM=INTERCEPT | SUBJECT(part) COVTYPE(VC)
/RANDOM=INTERCEPT | SUBJECT(part*round) COVTYPE(VC)
/PRINT=SOLUTION
/METHOD=REML
/REPEATED=visit | SUBJECT(part*round*paper) COVTYPE(AR1).
Maintenant, j'ai compris que tout lme
ne fait pas traversé bien, lmer
(qui gère les Termes croisés sans problème) ne peut pas utiliser différentes structures de covariance. Je peux courir simple lme des modèles tels que
lme(EDA ~ factor(CONDhier) * factor(CONDabund), random= ~1
|part, na.action=na.exclude, data=phys2)
, mais plus compliqué le modèle est au delà de moi. J'ai lu que les Termes croisés dans lme peuvent être faits avec des définitions aléatoires comme
random=pdBlocked(list(pdCompSymm(~part), pdCompSymm(~round-1), pdCompSymm(~paper-1),
pdCompSymm(~visit-1)))
mais cela semble bloquer la structure AR1, et la deuxième interception aléatoire pour la partie*ronde, de moi. Et je ne suis pas sûr que ce soit la même chose que ma syntaxe SPSS de toute façon.
alors, un conseil? Bien qu'il y ait beaucoup d'écrits différents sur lme et lmer, Je n'en ai pas trouvé un qui aurait à la fois croisé les Termes et AR1.
(aussi, la syntaxe sur lme semble assez obscur: de plusieurs sources différentes j'ai compris que | groupe ce qui est à gauche sous ce qui est à droite, Cela / fait des termes imbriqués, que ~1 est l'interception aléatoire, ~x est la pente aléatoire, et ~1+x est les deux, mais il semble y avoir au moins : et -1 des définitions que je n'ai pu trouver nulle part. Est-il un tutoriel qui expliquerait les différentes définitions?)
2 réponses
considérer le paquet R MCMCglmm qui permet des modèles complexes d'effets mixtes.
https://cran.r-project.org/web/packages/MCMCglmm/vignettes/CourseNotes.pdf
bien qu'il puisse être difficile à mettre en œuvre, il peut résoudre les problèmes que vous avez eus. Elle permet de donner séparément les formules d'effets fixes et d'effets aléatoires, par exemple:
fixed <- formula(EDA ~ CONDhier * CONDabund)
rand <- formula( ~(us(1+ CONDhier):part + us(1+ CONDhier):round + us(1+ CONDhier):paper + us(1+ CONDhier):visit))
la structure de covariance entre les effets aléatoires est donnée sous forme de coefficients qui peuvent être examiné en utilisant summary()
sur le MCMCglmm
object une fois que le model a été lancé.
Si vous avez un matrice de covariance croisée utiliser l'analyse de corrélation canonique (ACC). Il y a un documentée Rpackage pour l'ACC.