Statistique théorique et appliquée - Tome 2
Utilisation de R pour les exemples 6.2.1 et 6.2.2
| Exemple 6.2.1 |
| Exemple 6.2.2 |
par Emmanuel Nowak
Exemple 6.2.1. Etude de descendances de haricots : test khi-carré d'indépendance
Le but est de savoir si la couleur des fleurs est indépendante ou non de la famille de haricot. Il y a quatre niveaux de couleur et huit familles de haricot. Les données sont fournies dans le fichier 's2e06021.txt', qu'il faut importer puis mettre sous forme d'un tableau ne contenant que les quatre colonnes relatives aux couleurs :
| s2e06021 <- read.table("C:/Dagnelie/st2donn/txt.2/s2e06021.txt",sep="\t",header=T) s2e06021 <- as.matrix(s2e06021[,-1]) s2e06021 |
Bl. V.c. V.m. V.f. 1 0 6 8 0 2 0 7 9 1 3 0 4 19 7 4 0 11 1 0 5 0 7 8 2 6 3 4 5 6 7 0 6 7 1 8 4 19 5 1 |
Les effectifs de la première colonne sont manifestement trop faibles. La solution retenue est de fusionner la première colonne avec la suivante, en une seule couleur de type 'clair', puis d'effectuer le test du khi-carré sur le nouveau tableau obtenu :
| s2e06021[,2] <- s2e06021[,2]+s2e06021[,1] s2e06021 <- s2e06021[,-1] colnames(s2e06021) <- c("Clair","V.m.","V.f.") chisq.test(s2e06021) |
Pearson's Chi-squared test data: s2e06021 X-squared = 48.6201, df = 14, p-value = 1.037e-05 Warning message: Chi-squared approximation may be incorrect in: chisq.test(s2e06021) |
Un message d'avertissement indique que certains effectifs attendus sont inférieurs à 5. Ils valent en effet :
| attendu <- chisq.test(s2e06021)$expected round(attendu, digit=2) |
Clair V.m. V.f. 1 6.58 5.75 1.67 2 7.99 6.98 2.03 3 14.11 12.32 3.58 4 5.64 4.93 1.43 5 7.99 6.98 2.03 6 8.46 7.39 2.15 7 6.58 5.75 1.67 8 13.64 11.91 3.46 |
Comme précédemment, il est nécessaire de fusionner des colonnes, en l'occurrence les deux dernières. On obtient finalement un tableau avec uniquement deux niveaux de couleur, notés 'clair' et 'foncé' par la suite, sur lequel on effectue à nouveau un test du khi-carré :
| s2e06021[,2] <- s2e06021[,2]+s2e06021[,3] s2e06021 <- s2e06021[,-3] colnames(s2e06021) <- colnames(s2e06021) <- c("Clair","Foncé") chisq.test(s2e06021) |
Pearson's Chi-squared test data: s2e06021 X-squared = 36.5447, df = 7, p-value = 5.72e-06 |
Cette fois, aucune fréquence attendue n'est inférieure à 5.
Enfin, les contributions à la valeur du khi-carré peuvent être obtenues directement avec R :
| contrib <- chisq.test(s2e06021)$residuals^2 round(contrib,digit=3) |
Clair Foncé 1 0.052 0.046 2 0.123 0.110 3 7.240 6.426 4 5.087 4.515 5 0.123 0.110 6 0.253 0.225 7 0.052 0.046 8 6.431 5.707 |
La question est de savoir si la pubescence et la gaufrure des feuilles sont deux caractères indépendants ou non. Les données brutes se trouvent dans le fichier 's2e06022.txt', qu'il faut importer puis mettre sous forme de tableau, à moins de recopier les fréquences indiquées dans le livre :
| s2e06022 <- read.table("C:/Dagnelie/st2donn/txt.2/s2e06022.txt",sep="\t",header=T) tableau <- table(s2e06022) tableau |
Gaufr
Pubes 0 1
0 506 326
1 83 85
|
Etant donné qu'il s'agit ici d'un tableau 2×2, le test du khi-carré peut être réalisé avec ou sans correction de continuité. L'option par défaut de R est d'utiliser la correction de Yates :
| chisq.test(tableau) |
Pearson's Chi-squared test with Yates' continuity correction data: tableau X-squared = 7.0563, df = 1, p-value = 0.007899 |
Sans correction de continuité, on retrouve les résultats du livre :
| chisq.test(tableau,correct=F) |
Pearson's Chi-squared test data: tableau X-squared = 7.5204, df = 1, p-value = 0.0061 |
| Haut de la page |
| Autres illustrations avec R |
Dernière mise à jour : juillet 2006