Un exemple d’ANOVA Pour étudier l'influence du milieu sur la DL50 de daphnies (heure), on a mesuré cette durée de vie pour deux clones de daphnies en fonction de trois milieux de cultures. Les données recueillies sont : # Clone A Milieu 1 85 88 100 96 88 91 84 98 87 91 # Milieu 2 82 90 90 91 90 91 93 82 85 91 # Milieu 3 96 105 98 114 124 90 93 118 96 128 # Clone B Milieu 1 89 88 90 92 100 91 100 97 91 95 # Milieu 2 93 82 92 90 96 85 85 91 88 92 # Milieu 3 106 107 115 98 100 112 114 113 99 98 Faire une ANOVA pour étudier l'importance des facteurs "Clone" et "Milieu".
Un exemple d’ANOVA > # lecture des data > dl = scan("Exemple_ANOVA2.dat"); n = length(dl)/6; > # création des facteurs > milieu = gl(3,1*n,3*2*n, labels=c("M1","M2","M3")) > clone = gl(2,3*n,3*2*n, labels=c("CA","CB")) > dl 85 91 88 92 106 107 115 98 100 112 114 113 99 98 > milieu M1 M1 M1 M1 M1 M1 M1 M1 M1 M1 M2 M2 M2 M2 M2 M2 M2 M2 M2 M2 M3 M3 M3 M3 M3 M3 M3 M3 M3 M3 M1 M1 M1 M1 M1 M1 M1 M1 M1 M1 M2 M2 M2 M2 M2 M2 M2 M2 M2 M2 M3 M3 M3 M3 M3 M3 M3 M3 M3 M3 Levels: M1 M2 M3 > clone CB CB CB CB CB CB CB CB CB CB CB CB CB CB CB CB CB CB CB CB CB CB CB CB CB CB CB CB CB Levels: CA CB
Un exemple d’ANOVA > # donc les data sont dans > daph = data.frame(dl,clone,milieu); daph dl clone milieu 85 CA M1 88 CA M1 3 100 CA M1 .................... 82 CA M2 90 CA M2 96 CA M3 22 105 CA M3 98 CA M3 89 CB M1 88 CB M1 90 CB M1
Un exemple d’ANOVA > plot(daph)
Un exemple d’ANOVA > # ANOVA Classique en considérant le facteur milieu > # le tableau de l'analyse de variance > anova.daph = aov(formula = dl ~ milieu) > summary(anova.daph) Df Sum Sq Mean Sq F value Pr(>F) milieu 2 3382.6 1691.3 32.734 3.418e-10 *** Residuals 57 2945.1 51.7 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Un exemple d’ANOVA > # ANOVA Classique en considérant le facteur clone > # le tableau de l'analyse de variance > anova.daph = aov(formula = dl ~ clone) > summary(anova.daph) Df Sum Sq Mean Sq F value Pr(>F) clone 1 19.3 19.3 0.1771 0.6754 Residuals 58 6308.5 108.8 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Un exemple d’ANOVA > # ANOVA Classique à 2 facteurs > # le tableau de l'analyse de variance a deux facteurs > anova.daph = aov(formula = dl ~ clone * milieu) > summary(anova.daph) Df Sum Sq Mean Sq F value Pr(>F) clone 1 19.3 19.3 0.3576 0.5524 milieu 2 3382.6 1691.3 31.3874 9.04e-10 *** clone:milieu 2 16.0 8.0 0.1488 0.8621 Residuals 54 2909.8 53.9 Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1
Un exemple d’ANOVA > # Le modele linéaire > reg.daph = lm(formula = dl ~ clone * milieu) > summary(reg.daph) Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 90.800 2.321 39.116 < 2e-16 *** cloneCB 2.500 3.283 0.762 0.450 milieuM2 -2.300 3.283 -0.701 0.487 milieuM3 15.400 3.283 4.691 1.89e-05 *** cloneCB:milieuM2 -1.600 4.643 -0.345 0.732 cloneCB:milieuM3 -2.500 4.643 -0.538 0.592 Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 Multiple R-Squared: 0.5402, Adjusted R-squared: 0.4976 F-statistic: 12.69 on 5 and 54 DF, p-value: 3.646e-08
Un exemple d’ANOVA > # interprétation > reg.daph = lm(formula = dl ~ clone * milieu) > summary(reg.daph) (Intercept) 90.800 Effet de base de CA et M1 cloneCB 2.500 Effet sup du a CB milieuM2 -2.300 Effet sup du a M2 milieuM3 15.400 Effet sup du a M3 cloneCB:milieuM2 -1.600 Effet sup du a M2 et CB cloneCB:milieuM3 -2.500 Effet sup du a M3 et CB si CA et M1 : y(i) = 90.8 + e(i) si CB et M1 : y(i) = 90.8 + 2.5 + e(i) si CA et M2 : y(i) = 90.8 - 2.3 + e(i) si CA et M3 : y(i) = 90.8 + 15.4 + e(i) si CB et M2 : y(i) = 90.8 + 2.5 - 2.3 - 1.6 + e(i) si CB et M3 : y(i) = 90.8 + 2.5 + 15.4 - 2.5 + e(i)
Un exemple d’ANOVA > # Interprétation => revenir aux graphiques > par(mfcol=c(2,1)) > interaction.plot(milieu,clone,dl) > interaction.plot(clone,milieu,dl)
Un exemple d’ANOVA
Un exemple d’ANOVA > # On peut aussi regarder : > model.matrix(reg.daph) > coeffecients(reg.daph) (Intercept) cloneCB milieuM2 milieuM3 cloneCB:milieuM2 cloneCB:milieuM3 1 1 0 0 0 0 0 2 1 0 0 0 0 0 3 1 0 0 0 0 0 ............................... 11 1 0 1 0 0 0 12 1 0 1 0 0 0 13 1 0 1 0 0 0 21 1 0 0 1 0 0 22 1 0 0 1 0 0 23 1 0 0 1 0 0 31 1 1 0 0 0 0 32 1 1 0 0 0 0 33 1 1 0 0 0 0 Intercept cloneCB milieuM2 milieuM3 cloneCB:milieuM2 cloneCB:milieuM3 -2.5
Un exemple d’ANOVA > # interprétation > reg.daph = lm(formula = dl ~ clone * milieu) > summary(reg.daph) (Intercept) 90.800 Effet de base de CA et M1 cloneCB 2.500 Effet sup du a CB milieuM2 -2.300 Effet sup du a M2 milieuM3 15.400 Effet sup du a M3 cloneCB:milieuM2 -1.600 Effet sup du a M2 et CB cloneCB:milieuM3 -2.500 Effet sup du a M3 et CB si CA et M1 : y(i) = 90.8 + e(i) si CB et M1 : y(i) = 90.8 + 2.5 + e(i) si CA et M2 : y(i) = 90.8 - 2.3 + e(i) si CA et M3 : y(i) = 90.8 + 15.4 + e(i) si CB et M2 : y(i) = 90.8 + 2.5 - 2.3 - 1.6 + e(i) si CB et M3 : y(i) = 90.8 + 2.5 + 15.4 - 2.5 + e(i)
Un exemple d’ANOVA > # on retrouve le resultat de l’analyse classique > anova(reg.daph) Response: dl Df Sum Sq Mean Sq F value Pr(>F) clone 1 19.3 19.3 0.3576 0.5524 milieu 2 3382.6 1691.3 31.3874 9.04e-10 *** clone:milieu 2 16.0 8.0 0.1488 0.8621 Residuals 54 2909.8 53.9 --- Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1
Un exemple d’ANOVA > # et les residus !!! > par(mfcol=c(2,2)) > plot(reg.daph)
Un exemple d’ANOVA