Je dispose de 18 petits jeux de données correspondant à 18 espèces différentes de poissons, échantillonnés sur un maximum de 12 sites.
Chacun de ces datasets contient 9 à 12 observations, qui correspondent à 9 à 12 sites identiques d'une espèce à l'autre (aux valeurs manquantes près, d'où le fait d'avoir moins de 12 observations pour certaines espèces !)
Par ailleurs, je dispose de deux prédicteurs continus pour décrire mes sites: appelons-les X1 et X2.
Mon souhait est d'estimer la taille d'effet de X1, tout en tenant compte de X2; sur une variable réponse Y, et ce pour chacune des mes espèces. Je souhaite ainsi rapporter les effets relatifs de X1 et X2 sur Y grâce à l'estimateur de pente (slope) de chaque prédicteur et son intervalle de confiance (étant donné le faible nombre d'observations, je souhaite garder un maximum d'information). Initialement pour cela, j'avais effectué un modèle linéaire multiple pour chacune des espèces séparément. La fonction 'summ()' du package R jtools m'a permis de récupérer estimations de pentes + ICs (commande ci-dessous), et j'ai ensuite pu tracer un forest plot pour chacune des espèces (18 graphes x 2 estimations + CI).
Code : Tout sélectionner
for (i in unique(Tab$Espece)) {
print(cat(paste(" ", "Modèle linéaire multiple pour l'espèce :", i, sep='\n')))
print(summ(lm(Y~X1+X2, data=Tab[Tab$Species==i,]), scale=T, confint=T, digits=4))
}
(s'ensuivent ensuite mes 18 outputs)
L'avantage de cette méthode pour moi résidait dans la possibilité d'avoir les tailles d'effet relatives de chaque prédicteur pour chaque espèce, sans m'embarrasser d'une variable qualitative quelconque. Ainsi, chaque pente était simplement caractérisée par sa valeur et l'incertitude associée. Cependant, lorsque vient le besoin de comparer réellement les pentes d'une espèce à l'autre, il devient bien sûr souhaitable d'ajouter le facteur Espèce comme covariable et donc d'effectuer une ANCOVA. Comme tout cela n'est pas encore très R-technique, voici ma question réelle:
Puis-je effectuer une ANCOVA pour tester les interactions entre X1 et Espèce (tout en contrôlant toujours par X2 pour chaque Espèce), avec des commandes qui permettraient à la fois de (1) comparer bien entendu les pentes de X1, compte tenu de X2, d'une espèce à l'autre et surtout (2) de pouvoir continuer à comparer les tailles d'effet de X1 et X2 par espèce - donc de récupérer pentes + ICs pour chacune ?
Mon souci principal étant que, quelle que soit la façon de régler les contrastes, je ne sais pas comment - ni même si je peux - récupérer les estimations brutes de pentes de X1 et X2 par espèce depuis l'output de la commande
Code : Tout sélectionner
lm(Y~(X1+X2+Espece)^2, data=Tab)
comme je le faisais dans mes modèles multiples séparés avec 'summ'. Or, outre le fait de tester les différences de pentes entre Espèces (ce que je peux bien sûr faire avec la commande ci-dessus suivie de tests post-hoc), j'ai quand même besoin de récupérer les estimations brutes elle-même (les pentes), car il me faudra ces valeurs pour des analyses complémentaires. Comme 'lm()' se base sur la première modalité (contr.treatment) ou la moyenne globale (contr.sum) de la variable catégorielle pour fournir les coefficients, je ne sais comment procéder.
En conclusion: il me semble actuellement que l'ANCOVA, si elle me permettra de tester les différences de pentes de X1 entre Espèces compte tenu de X2, ne me permettra pas, en revanche, de simplement récupérer les estimations per se de pentes de X1 compte tenu de X2 que je pouvais obtenir en faisant des modèles multiples séparés par Espèce, lorsque je ne cherchais pas forcément à tester si les pentes étaient significativement différentes ou non. Et je me dis qu'en réalité j'ai probablement simplement loupé une fonction très simple qui me permettrait de récupérer ces estimations de pente directement depuis l'ANCOVA. Et donc, de tout faire d'un seul coup: tester l'effet de X1 et X2 par Espèce, comparer les pentes de X1 compte tenu de X2 entre Espèces, et récupérer l'ensemble des coefficients de pentes et CIs pour des interprétations complémentaires que je ne peux intégrer au modèle (e.g. voir si la pente évolue en fonction d'un autre critère relatif à l'espèce elle-même, comme sa taille)
J'espère avoir été claire et cependant pas trop longue !
Un grand merci par avance de votre réponse.
Chrystelle