J'essaie de déterminer si les chenilles qui ont une alimentation naturelle (fleur de singe) sont plus résistantes aux prédateurs (fourmis) que les chenilles qui ont une alimentation artificielle (un mélange de germe de blé et de vitamines). J'ai fait une étude d'essai avec un petit échantillon (20 chenilles; 10 par régime). J'ai pesé chaque chenille avant l'expérience. J'ai offert une paire de chenilles (une par régime) à un groupe de fourmis pendant une période de cinq minutes et j'ai compté le nombre de fois que chaque chenille a été rejetée. J'ai répété ce processus dix fois.
Voici à quoi ressemblent mes données (A = alimentation artificielle, N = alimentation naturelle):
Trial A_Weight N_Weight A_Rejections N_Rejections
1 0.0496 0.1857 0 1
2 0.0324 0.1112 0 2
3 0.0291 0.3011 0 2
4 0.0247 0.2066 0 3
5 0.0394 0.1448 3 1
6 0.0641 0.0838 1 3
7 0.0360 0.1963 0 2
8 0.0243 0.145 0 3
9 0.0682 0.1519 0 3
10 0.0225 0.1571 1 0
J'essaie d'exécuter une ANOVA en R. Voici à quoi ressemble mon code (0 = régime artificiel, 1 = régime naturel; tous les vecteurs sont organisés avec les données des dix chenilles de régime artificiel en premier, suivies des données des dix régimes naturels les chenilles):
diet <- factor (rep (c (0, 1), each = 10)
rejections <- c(0,0,0,0,3,1,0,0,0,1,1,2,2,3,1,3,2,3,3,0)
weight <- c(0.0496,0.0324,0.0291,0.0247,0.0394,0.0641,0.036,0.0243,0.0682,0.0225,0.1857,0.1112,0.3011,0.2066,0.1448,0.0838,0.1963,0.145,0.1519,0.1571)
all.data <- data.frame(Diet=diet, Rejections = rejections, Weight = weight)
fit.all <- lm(Rejections ~ Diet * Weight, all.data)
anova(fit.all)
Et voici à quoi ressemblent mes résultats:
Analysis of Variance Table
Response: Rejections
Df Sum Sq Mean Sq F value Pr(>F)
Diet 1 11.2500 11.2500 9.8044 0.006444 **
Weight 1 0.0661 0.0661 0.0576 0.813432
Diet:Weight 1 0.0748 0.0748 0.0652 0.801678
Residuals 16 18.3591 1.1474
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Mes questions sont:
- L'ANOVA est-elle appropriée ici? Je me rends compte que la petite taille de l'échantillon serait un problème avec tout test statistique; ce n'est qu'une étude d'essai sur laquelle j'aimerais exécuter des statistiques pour une présentation en classe. J'ai l'intention de refaire cette étude avec un plus grand échantillon.
- Ai-je saisi correctement mes données dans R?
- Est-ce que cela me dit que le régime alimentaire est important, mais pas le poids?
Réponses:
tl; dr @whuber a raison de dire que l'alimentation et le poids sont confondus dans votre analyse: voici à quoi ressemble l'image.
Les points gras + fourchettes indiquent les intervalles de confiance moyens et bootstrap pour le régime seul; la ligne grise + intervalle de confiance montre la relation globale avec le poids; les lignes individuelles + CI montrent les relations avec le poids pour chaque groupe. Il y a plus de rejet pour le régime = N, mais ces individus ont également des poids plus élevés.
Entrer dans les détails mécaniques sanglants: vous êtes sur la bonne voie avec votre analyse, mais (1) lorsque vous testez l'effet du régime alimentaire, vous devez prendre en compte l'effet du poids, et vice versa ; par défaut, R fait une ANOVA séquentielle , qui teste l'effet du régime seul; (2) pour des données comme celle-ci, vous devriez probablement utiliser un modèle linéaire généralisé de Poisson (GLM), bien que cela ne fasse pas trop de différence avec les conclusions statistiques dans ce cas.
Si vous regardez
summary()
plutôt queanova()
, qui teste les effets marginaux, vous verrez que rien ne semble particulièrement significatif (vous devez également faire attention à tester les effets principaux en présence d'une interaction: dans ce cas, l'effet du régime est évalué à un poids de zéro : probablement pas sensible, mais comme l'interaction n'est pas significative (bien qu'elle ait un effet important!), cela peut ne pas faire beaucoup de différence.Centrage de la variable de poids:
Pas d'énormes changements dans l'histoire ici.
Certains se demandent si les tests dits de "type 3" ont un sens; ils ne le font pas toujours, bien que centrer le poids aide. L'analyse de type 2, qui teste les principaux effets après avoir retiré l'interaction du modèle, peut être plus défendable. Dans ce cas, l'alimentation et le poids sont testés en présence l'un de l'autre, mais sans les interactions incluses.
Nous pouvons voir que si nous analysions l'alimentation en ignorant les effets du poids, nous obtiendrions un résultat très significatif - c'est essentiellement ce que vous avez trouvé dans votre analyse, en raison de l'ANOVA séquentielle.
Il serait plus standard d'adapter ce type de données à un GLM de Poisson (
glm(rejections~diet*cweight,data=dd2,family=poisson)
), mais dans ce cas, cela ne fait pas beaucoup de différence dans les conclusions.Soit dit en passant, il est préférable de réorganiser vos données par programme plutôt que manuellement si vous le pouvez. Pour référence, voici comment je l'ai fait (désolé pour la quantité de "magie" que j'ai utilisée):
Code de traçage:
la source