Vous êtes sur la page 1sur 3

Note technique n°260710-1 © Sylvain Hanneton 2010 tous droits réservés

Faire un test du χ² avec R

Objectif de cette note : guider le lecteur pour effectuer un test du χ² avec le logiciel R.
Mots-clés : test statistique – chi² – khi² – distribution – variable qualitative

A propos du test du chi²


L'objectif de ce document n'est pas de décrire ce test. Rappelons simplement que ce test est destiné
à comparer deux distributions d'effectifs. Il peut servir à comparer une distribution observée à une
distribution théorique ou bien comparer deux distributions observées. Le chi² est simplement une
mesure de l'écart entre deux distributions.
Le logiciel R permet d'effectuer ce test de façon très simple et directe avec la fonction
chisq.test() qui permet de comparer une distribution observée à une distribution théorique, ou
de comparer plusieurs distributions observées.

Exemple n°1 : comparaison d'une distribution observée à une distribution


théorique
Le tableau ci-dessous donne la distribution des chutes se produisant dans un hôpital en
fonction des jours de la semaine pour l'année 2009. La question qui se pose est bien évidemment :
« est-ce que le jour de la semaine a une influence sur le nombre de chutes ?». Si la réponse est non
alors on devrait observer le même nombre de chutes quelque soit le jour de la semaine. Autrement
dit la distribution devrait être uniforme. Si notre distribution observée s'éloigne suffisamment de la
distribution uniforme, alors on conclura que le jour de la semaine a une influence sur la probabilité
de chuter.
1 2 3 4 5 6 7
22 16 28 20 13 18 21
Tableau 1: Distribution du nombre de chutes (ligne du bas) en fonction du numéro du jour
de la semaine (ligne du haut).
Il y a donc ici au total 166 chutes et si la distribution des chutes était absolument uniforme, on
devrait observer 166/7 chutes par jour de la semaine quelque soit le jour (soit environ 24 chutes par
jour). L'objectif du test du chi² est de comparer la distribution observée décrite dans le tableau 1
avec la distribution uniforme correspondante.
Nous allons pour cela utiliser deux fonctions élémentaires de R :
• la fonction c() qui permet de construire un tableau de nombres.
• la fonction chisq.test() qui permet d'effectuer le test du chi² et d'en obtenir le résultat.
Le test se fait en deux lignes dans la fenêtre de commande de R :
T<-c(22,16,28,20,13,18,21)
chisq.test(T)
Dans la fenêtre de commande on obtient donc :

1/3
Note technique n°260710-1 © Sylvain Hanneton 2010 tous droits réservés

> T<-c(22,16,28,20,13,18,21)
> chisq.test(T)

Chi-squared test for given probabilities


data: T
X-squared = 6.971, df = 6, p-value = 0.3235
La première commande (T<-c(22,16,28,20,13,18,21)) permet de construire un tableau de
données appelé T (on aurait pu lui donner n'importe quel nom) contenant tous les effectifs du
tableau. La seconde commande (chisq.test(T)), dans laquelle la fonction chisq.test()
ne prend qu'un seul argument (T), lance le test.
Le résultat obtenu peut être décrypté ainsi :
• data : T rappelle simplement que le test a été effectué avec le tableau appelé T
• X-squared = 6.971 donne la valeur du chi², c'est-à-dire la mesure de la différence
entre la distribution observée et la distribution uniforme.
• df = 6 indique que le nombre de degrés de liberté (degrees of freedom) du test est égal à
6. Ce nombre de degrés de liberté est obtenu en enlevant un au nombre d'effectifs considérés
(7 au total).
• p-value = 0,3235 donne le risque que l'on prend à rejeter l'hypothèse que la
distribution est uniforme. On a donc 32,35 % de chances de se tromper en rejetant cette
hypothèse. Ce risque est trop important donc on ne rejettera pas cette hypothèse.
On conclura de ce test qu'il n'existe pas de différence significative entre la distribution
uniforme et notre distribution observée. En effet la valeur de la probabilité obtenue est supérieure au
seuil de 0,05 (5 %). On ne peut donc pas conclure que le jour de la semaine influence le nombre de
chutes. En fait, on ne peut par conséquent conclure quoi que ce soit sur ces données. En effet, soit
l'influence du jour de la semaine n'existe pas, soit le nombre de données est insuffisant au regard de
l'amplitude de l'effet.

Exemple n°2 : étude du lien entre deux variables qualitatives


Nous allons dans cet exemple reprendre la problématique précédente en différenciant les hommes et
les femmes. Le tableau ci-dessous donne le nombre de chutes en fonction du jour de la semaine
pour les hommes et les femmes :

sexe 1 2 3 4 5 6 7
f 11 7 12 8 9 10 13
h 11 9 16 12 4 8 8
Tableau 2: Distribution du nombre de chutes en
fonction du jour de la semaine pour les hommes (h) et
les femmes (f).

Chaque chute est ici classée en fonction de deux variables qualitatives que sont le genre du chuteur
(variable à 2 classes) et le jour de la chute (variable à 7 classes). La question qui se pose est celle de
l'existence d'un lien entre ces deux variables qualitatives : existe-t-il un lien entre le genre du

2/3
Note technique n°260710-1 © Sylvain Hanneton 2010 tous droits réservés

chuteur et le jour de la semaine de la chute. Autrement dit, le jour de la chute dépend-il du genre du
chuteur ou inversement le genre du chuteur influe-t-il sur le jour de la chute ?
Pour mettre en évidence un lien significatif entre le genre et le jour de la chute, nous allons utiliser
la même fonction de R mais cette fois en donnant comme argument à la fonction un tableau à deux
dimensions (un tableau de contingence).
Voici les commandes nécessaires :
T=c(11,7,12,8,9,10,13,11,9,16,12,4,8,8)
M=matrix(T,c(7,2))
chisq.test(M)
La première commande permet de mettre toutes les données sous forme d'un vecteur dans la
variable T. La seconde commande permet de transformer ce vecteur en un tableau de deux colonnes
et sept lignes. Ce tableau correspond à une transposition du tableau 2 mais cela n'a pas
d'importance, le test donnera le même résultat. Le tableau M est le suivant :
M
[,1] [,2]
[1,] 11 11
[2,] 7 9
[3,] 12 16
[4,] 8 12
[5,] 9 4
[6,] 10 8
[7,] 13 8
La dernière commande correspond donc au test du chi² et donne le résultat suivant :
Pearson's Chi-squared test

data: M
X-squared = 4.9293, df = 6, p-value = 0.5529
La liaison entre genre et jour de la semaine n'est donc pas significative.

Conclusion
Nous avons vu ici deux des principales applications du test du chi². Faire un test du chi² avec
R ne nécessite que quelques lignes de commandes élémentaires. Cependant, il faut noter que la
fonction chisq.test() comporte d'autres paramètres que ceux vus ici et présente beaucoup
d'autres possibilités que celles illustrées par nos exemples.

3/3

Vous aimerez peut-être aussi