Principes d'expérimentation :

planification des expériences et analyse de leurs résultats

 
Utilisation de R pour l'exemple du paragraphe 7.5

par Emmanuel Nowak
7.5.1 Présentation et données
7.5.2 Analyse des résultats

 

 

7.5 Exemple 2 : expérience en blocs aléatoires complets et bandes croisées

7.5.1 Présentation et données

    1° Présentation générale

Se référer au paragraphe correspondant du livre. Il s'agit de comparer 8 mélanges fourragers associés à 2 doses d'engrais azoté. Un mélange est déterminé par la variété d'avoine utilisée ainsi que la proportion d'avoine et de vesce. Les rendements obtenus s'expriment en tonnes de matière sèche par hectare.

    2° Dispostif expérimental et données

Pour chacun des 16 objets ainsi définis, on dispose de 2 répétitions effectuées sur 2 blocs selon un dispositif en bandes croisées, exposé au paragraphe 7.1.3 du livre et représenté par la figure 7.5.1.

Il faut d'abord importer les données fournies dans le fichier 'exp075.txt' et diviser les valeurs des rendements qui y sont contenues par 100 pour obtenir les valeurs réelles en tonnes par ha. On suppose que ce fichier a été chargé dans 'C:\Dagnelie'. Par ailleurs, deux colonnes supplémentaires 'Prop' et 'Var', précisant la variété d'avoine et sa proportion déterminant le mélange, seront utiles pour la suite :

exp075 <- read.table("C:/Dagnelie/expdonn/txt/exp075.txt",sep="\t",header=T)
exp075$Rend <- exp075$Rend/100
mel <- exp075$Melan
exp075$Prop <- factor(ifelse(mel %in% c(1,3,5,7),"50-50","25-75"))
exp075$Var <- factor(ifelse(mel %in% 1:2,"A",ifelse(mel %in% 3:4,"B",ifelse(mel %in% 5:6,"C","AB"))))
exp075[1:5,]

  Melan Azote Bloc Rend  Prop Var
1     6     2    1 5.79 25-75   C
2     4     2    1 8.67 25-75   B
3     1     2    1 7.97 50-50   A
4     8     2    1 7.61 25-75  AB
5     5     2    1 8.69 50-50   C 

Enfin, les mélanges fourragers, doses d'azote et blocs sont des variables qualitatives et doivent être déclarées comme telles:

exp075$Melan <- factor(exp075$Melan)
exp075$Azote <- factor(exp075$Azote, labels=c("30","60"))
exp075$Bloc <- factor(exp075$Bloc)

 

7.5.2 Analyse des résultats

    1° Examen préliminaire

Des statistiques sommaires sur le rendement sont données par la fonction 'summary' :

attach(exp075)
summary(Rend)

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  3.550   5.465   6.275   6.697   8.018  10.610

Les représentations graphiques des données s'obtiennent à l'aide de la fonction 'stripchart', puisqu'on souhaite avoir le rendement (quantitatif) en fonction du mélange (qualitatif) ou de la dose d'azote. La fonction 'par' permet de modifier certains paramètres graphiques, en particulier de diviser la fenêtre, ici en deux (l'agrandir ensuite).

par(mfrow=c(1,2),las=1)
stripchart(Rend~Melan, vertical=T, pch=21, xlab="MÈlanges fourragers", ylab="Rendements (t/ha)")
stripchart(Rend~Azote, at=c(1.2,1.8), vertical=T, pch=21, xlab="Azote (u/ha)", ylab="Rendements (t/ha)")
detach(exp075)

exp0751.jpg (50 Ko)

 

    2° Première analyse de la variance

Il faut ici réaliser une analyse de la variance à trois facteurs croisés, en spécifiant dans un terme d'erreur les variations résiduelles qui serviront de base de comparaison pour les tests. Notons qu'une transformation logarithmique doit être appliquée aux données initiales afin de stabiliser les variances.

model1 <- aov(log10(Rend)~Melan*Azote+Error(Melan*Azote*Bloc-Melan*Azote), data=exp075)
summary(model1)

Error: Bloc
          Df   Sum Sq  Mean Sq F value Pr(>F)
Residuals  1 0.037397 0.037397               

Error: Melan:Bloc
          Df   Sum Sq  Mean Sq F value  Pr(>F)  
Melan      7 0.136850 0.019550  4.7651 0.02825 *
Residuals  7 0.028719 0.004103                  
---
Signif. codes:  0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 

Error: Azote:Bloc
          Df   Sum Sq  Mean Sq F value Pr(>F)
Azote      1 0.096953 0.096953  28.448  0.118
Residuals  1 0.003408 0.003408               

Error: Melan:Azote:Bloc
            Df   Sum Sq  Mean Sq F value Pr(>F)
Melan:Azote  7 0.090646 0.012949  1.9118 0.2060
Residuals    7 0.047413 0.006773 

Le carré moyen du facteur blocs vaut 0,0374 et ne sert de base de comparaison pour aucun test. Le carré moyen de l'interaction mélanges-blocs vaut 0,0041 et sert de base de comparaison pour tester l'effet du facteur mélanges, etc.

Remarque : avant d'interpréter les résultats de l'analyse de la variance, il faut en vérifier la validité des conditions d'application. La procédure est exactement la même que celle de l'exemple du paragraphe 5.4. Elle n'est donc pas reprise dans cette page.

 

    3° Deuxième analyse de la variance

Dans cette analyse, les carrés moyens des trois interactions faisant intervenir le facteur blocs sont regroupés en une seule composante dite résiduelle. Cette composante sert de base de comparaison pour les tests (le facteur blocs ne devant cependant pas être testé par rapport à cette composante, il ne faut pas tenir compte du degré de signification obtenu pour celui-ci). Il s'agit donc d'un modèle classique d'analyse de la variance à trois facteurs où la seule interaction spécifiée est celle entre mélanges et azote.

model21 <- aov(log10(Rend)~Melan*Azote+Bloc, data=exp075)
summary(model21)

            Df   Sum Sq  Mean Sq F value    Pr(>F)    
Melan        7 0.136850 0.019550  3.6868 0.0161474 *  
Azote        1 0.096953 0.096953 18.2838 0.0006631 ***
Bloc         1 0.037397 0.037397  7.0524 0.0179873 *  
Melan:Azote  7 0.090646 0.012949  2.4420 0.0694847 .  
Residuals   15 0.079540 0.005303                      
---
Signif. codes:  0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1

Si l'on souhaite subdiviser les sommes des carrés des écarts, il suffit de remplacer 'Melan' par 'Prop*Var' dans le modèle précédent :

model22 <- aov(log10(Rend)~Prop*Var*Azote+Bloc, data=exp075)
summary(model22)

               Df   Sum Sq  Mean Sq F value    Pr(>F)    
Prop            1 0.030384 0.030384  5.7299 0.0301935 *  
Var             3 0.040384 0.013461  2.5386 0.0956951 .  
Azote           1 0.096953 0.096953 18.2838 0.0006631 ***
Bloc            1 0.037397 0.037397  7.0524 0.0179873 *  
Prop:Var        3 0.066082 0.022027  4.1540 0.0249769 *  
Prop:Azote      1 0.000156 0.000156  0.0293 0.8663200    
Var:Azote       3 0.063962 0.021321  4.0207 0.0276862 *  
Prop:Var:Azote  3 0.026528 0.008843  1.6676 0.2164392    
Residuals      15 0.079540 0.005303

 

    4° Interprétation

Le fait d'augmenter le nombre de degrés de liberté du carré moyen servant de base de comparaison pour tester l'effet du facteur azote rend ce facteur très hautement significatif. Pour obtenir un intervalle de confiance de la différence des logarithmes des rendements entre les deux niveaux d'azote, il faut tout d'abord connaître les moyennes en question :

attach(exp075)
tapply(log10(Rend),Azote,mean)

       30        60 
0.7553309 0.8654178

Il reste ensuite à déterminer le quantile de la loi de Student à 15 degrés de liberté correspondant à une probabilité à gauche de 0,975 :

qt(0.975,df=15)

[1] 2.131450

Les résultats s'obtiennent alors en suivant la même procédure qu'au paragraphe 7.4.2.3°, soit un accroissement de 29% lié aux 30 unités supplémentaires d'azote par hectare, avec des limites de confiance égales à 14 et 46%.

Enfin, la fonction 'xtabs' permet d'obtenir la somme des (logarithmes des) rendements pour chaque combinaison de proportion et de variété, qu'il faut diviser par les effectifs correspondants, obtenus par la fonction 'table', pour avoir finalement la moyenne.

xtabs(log10(Rend)~Prop+Var)/table(Prop,Var) # données transformées

       Var
Prop    A         AB        B         C        
  25-75 0.7643565 0.7005505 0.9000533 0.7532817
  50-50 0.7972652 0.8489720 0.8254129 0.8931025
xtabs(Rend~Prop+Var)/table(Prop,Var) # données initiales

       Var
Prop    A      AB     B      C     
  25-75 5.9850 5.2150 7.9825 5.6725
  50-50 6.4700 7.2925 7.0025 7.9525

    5° Modèles des analyses de la variance

Contrairement aux notations présentées dans le livre et correspondant à celles des logiciels Minitab et SAS, l'interaction entre deux facteurs A et B est désignée par A:B. La mention A*B est ici la notation abrégée de A+B+A:B.

Le fonctionnement du terme Error peut être résumé de la façon suivante. La somme des carrés des écarts est décomposée en fonction de tous les éléments qui apparaissent dans le modèle, y compris la composante d'erreur. Chaque élément n'apparaissant pas dans la composante d'erreur est alors testé, en utilisant comme carré moyen de comparaison celui correspondant :

-au premier terme d'ordre supérieur de la partie Error contenant l'élément, s'il y en a un,
-à la résiduelle (contenant les interactions non explicitées) sinon.

Le choix du terme d'erreur doit donc être guidé par les espérances mathématiques des carrés moyens du modèle utilisé. Ainsi, les modèles de la deuxième analyse de la variance auraient dû, en toute rigueur, faire apparaître le facteur bloc dans un terme d'erreur afin qu'il ne soit pas testé par rapport à la variation dite résiduelle.

 
Haut de la page
Autres illustrations avec R

Dernière mise à jour : janvier 2005