J'essaie d'analyser certaines données à l'aide d'un modèle à effets mixtes. Les données que j'ai recueillies représentent le poids de certains jeunes animaux de génotype différent au fil du temps.
J'utilise l'approche proposée ici: https://gribblelab.wordpress.com/2009/03/09/repeated-measures-anova-using-r/
En particulier, j'utilise la solution # 2
J'ai donc quelque chose comme
require(nlme)
model <- lme(weight ~ time * Genotype, random = ~1|Animal/time,
data=weights)
av <- anova(model)
Maintenant, je voudrais avoir plusieurs comparaisons. En utilisant multcomp
je peux faire:
require(multcomp)
comp.geno <- glht(model, linfct=mcp(Genotype="Tukey"))
print(summary(comp.geno))
Et, bien sûr, je pourrais faire de même avec le temps.
J'ai deux questions:
- Comment puis-je utiliser
mcp
pour voir l'interaction entre le temps et le génotype? Lorsque je cours,
glht
je reçois cet avertissement:covariate interactions found -- default contrast might be inappropriate
Qu'est-ce que ça veut dire? Puis-je l'ignorer en toute sécurité? Ou que dois-je faire pour l'éviter?
EDIT: J'ai trouvé ce PDF qui dit:
Comme il est impossible de déterminer automatiquement les paramètres d'intérêt dans ce cas, mcp () dans multcomp générera par défaut des comparaisons uniquement pour les effets principaux, en ignorant les covariables et les interactions . Depuis la version 1.1-2, on peut spécifier de faire la moyenne des termes d'interaction et des covariables en utilisant respectivement les arguments interaction_average = TRUE et covariate_average = TRUE, tandis que les versions antérieures à 1.0-0 font automatiquement la moyenne sur les termes d'interaction. Nous suggérons cependant aux utilisateurs d'écrire manuellement l'ensemble des contrastes qu'ils souhaitent.Il faut le faire en cas de doute sur la mesure des contrastes par défaut, ce qui se produit généralement dans les modèles avec des termes d'interaction d'ordre supérieur. Nous nous référons à Hsu (1996), chapitre ~ 7, et Searle (1971), chapitre ~ 7.3, pour plus de discussions et d'exemples sur cette question.
Je n'ai pas accès à ces livres, mais peut-être que quelqu'un ici en a?
Réponses:
Si
time
etGenotype
sont tous deux des prédicteurs catégoriques tels qu'ils semblent être, et que vous souhaitez comparer toutes les paires temps / génotype les unes aux autres, alors vous pouvez simplement créer une variable d'interaction et utiliser les contrastes de Tukey dessus:Si vous êtes intéressé par d'autres contrastes, vous pouvez utiliser le fait que l'
linfct
argument peut prendre une matrice de coefficients pour les contrastes - de cette façon, vous pouvez configurer exactement les comparaisons que vous souhaitez.MODIFIER
Les commentaires semblent indiquer que le modèle équipé du
TimeGeno
prédicteur est différent du modèle d'origine équipé duTime * Genotype
prédicteur. Ce n'est pas le cas , les modèles sont équivalents. La seule différence réside dans le paramétrage des effets fixes, qui est configuré pour faciliter l'utilisation de laglht
fonction.J'ai utilisé l'un des ensembles de données intégrés (il a Diet au lieu de Genotype) pour démontrer que les deux approches ont la même probabilité, les valeurs prédites, etc.:
La seule différence est que quelles hypothèses sont faciles à tester. Par exemple, dans le premier modèle, il est facile de tester si les deux prédicteurs interagissent, dans le second modèle, il n'y a pas de test explicite pour cela. En revanche, l'effet conjoint des deux prédicteurs est facile à tester dans le deuxième modèle, mais pas dans le premier. Les autres hypothèses sont testables, c'est juste plus de travail pour les mettre en place.
la source
glht
utilise les degrés de liberté donnés dans le modèle lme. Je ne suis pas sûr que ces degrés de liberté soient appropriés ...?Animal/time
qui n'est plus un des facteurs. Est-understand
ce vraiment ça?all.equal(resid(model1), resid(model2))
voir qu'ils sont les mêmes avant de deviner le contraire? Seul le paramétrage des effets fixes est différent.TimeDiet
n'est pas un terme d'interaction pure, et il n'est pas équivalent àTime:Diet
, mais plutôt àTime + Diet + Time:Diet
.