La question suivante est l'un de ces Saint Graal pour moi depuis un certain temps maintenant, j'espère que quelqu'un pourrait être en mesure d'offrir un bon conseil.
Je souhaite réaliser un anova multi-voies à mesures répétées non paramétriques en utilisant R.
Je fais des recherches et de la lecture en ligne depuis un certain temps et jusqu'à présent, je n'ai trouvé de solutions que pour certains cas: test de Friedman pour les mesures répétées non paramétriques unidirectionnelles anova, régression ordinale avec {car} fonction Anova pour la fonction non paramétrique multivoie anova, etc. Les solutions partielles ne sont PAS ce que je recherche dans ce fil de question. J'ai résumé mes résultats jusqu'à présent dans un article que j'ai publié il y a quelque temps (intitulé: Mesures répétées ANOVA avec R (fonctions et tutoriels) , au cas où cela aiderait quelqu'un)
Si ce que je lis en ligne est vrai, cette tâche peut être réalisée en utilisant un modèle de régression ordinale mixte (alias: Proportional Odds Model).
J'ai trouvé deux packages qui semblent pertinents, mais je n'ai trouvé aucune vignette sur le sujet:
Donc, étant nouveau dans le sujet, j'espérais des indications de la part des gens d'ici.
Existe-t-il des tutoriels / lectures suggérées sur le sujet? Encore mieux, quelqu'un peut-il suggérer un exemple de code simple pour savoir comment exécuter et analyser cela dans R (par exemple: "anova multi-mesures à mesures répétées non paramétriques")?
la source
Réponses:
Le paquet ez , dont je suis l'auteur, a une fonction appelée ezPerm () qui calcule un test de permutation, mais ne fait probablement pas correctement les interactions (la documentation en admet autant). La dernière version a une fonction appelée ezBoot (), qui vous permet de faire un rééchantillonnage bootstrap qui prend en compte les mesures répétées (en rééchantillonnant les sujets, puis au sein des sujets), soit en utilisant des moyens cellulaires traditionnels comme statistique de prédiction, soit en utilisant une modélisation à effets mixtes pour faire des prédictions pour chaque cellule de la conception. Je ne sais toujours pas à quel point les CI d'amorçage des prévisions de modèles à effets mixtes sont «non paramétriques»; mon intuition est qu'ils pourraient raisonnablement être considérés comme non paramétriques, mais ma confiance dans ce domaine est faible étant donné que j'apprends toujours sur les modèles d'effets mixtes.
la source
aovp
alternative - dulmperm
package orphelin - produit d'énormes variations pour les valeurs de p, voyez ceci . J'ai quelques questions: Où puis-je trouver des références bibliographiques pour la mise en œuvre deezPerm
? Comment puis-je interpréter que la fonction ne fait probablement pas correctement les interactions ? Quel pourrait être un test post-hoc dans ce cas? Merci!ezPerm( data = DATA, dv = DV, wid = WID, within = interaction(A,B), perms = 1e3)
sens de vérifier si l'interaction est significative?En cas de doute, bootstrap! Vraiment, je ne connais pas de procédure standard pour gérer un tel scénario.
L'amorçage est un moyen généralement applicable de générer certains paramètres d'erreur à partir des données disponibles. Plutôt que de s'appuyer sur les hypothèses paramétriques typiques, les procédures de bootstrap capitalisent sur les caractéristiques de l'échantillon pour générer une distribution empirique à laquelle vos estimations d'échantillon peuvent être comparées.
Google scholar est or ... cela a été fait avant ... au moins une fois.
Lunneborg, Clifford E .; Tousignant, James P .; 1985 "Bootstrap d'Efron avec application à la conception de mesures répétées." Recherche comportementale multivariée; Avr85, vol. 20 Numéro 2, p161, 18p
la source
Il y a un "truc" mentionné dans certains forums et listes de diffusion - je l'ai également trouvé mentionné dans le livre de Joop Hox "Multilevel Analysis" (deuxième édition, 2010), pp. 189.
L'idée est la suivante: vous reformatez vos données longues en un long ensemble de données dans lequel vous créez un nouveau DV qui inclut toutes vos réponses DV, et utilisez une variable d'index qui contient des informations sur la nature des DV pour prédire ce résultat.
Supposons que vous ayez 9 symptômes de dépression (ordinaux), 2 points de mesure et 300 sujets. Ainsi, alors que vous avez 300 lignes dans votre jeu de données normal, et dans votre long jeu de données, vous aurez 600 lignes, ce nouveau jeu de données aura 9 (symptômes) x 2 (temps) x 300 (sujets) lignes.
La nouvelle variable DV "symptômes" contient maintenant la gravité des symptômes des participants sur 9 symptômes, les variables "index" contiennent les informations sur la nature du symptôme (1 à 9), et puis il y a les deux variables "temps" et " Identifiant d'utilisateur".
Vous pouvez maintenant utiliser le
ordinal
package pour l'exécuter.Dans mon cas spécifique, je voulais savoir s'il y avait une interaction significative entre l'indice et le temps, j'ai donc exécuté un modèle supplémentaire et les ai comparés:
CLMM2 utilise un modèle d'interception aléatoire (à ma connaissance, le package
ordinal
ne fait pas de pentes aléatoires), si vous ne le faites pas pour un modèle d'interception aléatoire, vous pouvez exécuter les modèles à la place en utilisant CLM, par exemple:la source
clmm2(symptoms ~ index*time, random=UserID, data = data, Hess=TRUE, nAGQ=10) anova(m1,m2)
. Savez-vous par hasard comment exprimer cela avec la nouvelle fonction clmm? Je ne suis pas sûr de la notation.