Comparer les distributions d'une variable nominale dans des groupes indépendants : test du khi-2 de contigence

Enoncé :

Des chercheurs ont réalisé une expérience visant à mettre en évidence l'effet d'une séance d'intervention motivante brève sur le comportement relatif à la consommation d'alcool.

Soixante sujets, qui ont déclaré avoir bu occasionnellement à 2 reprises ou plus au cours du mois précédant l'expérience ont été affectés au hasard soit dans un groupe contrôle, sans traitement (31 sujets) soit dans un groupe expérimental dit "groupe d'intervention brève" (29 sujets).

Le comportement des sujets est mesuré par la variable "nombre de verres bus par semaine".

Les sujets sont évalués avant l'expérience (condition de référence). Chacun des sujets du groupe d'intervention brève bénéficie d'un entretien personnalisé relatif aux problèmes liés à l'alcool. Six semaines après l'entretien, l'ensemble des sujets est de nouveau évalué.

La répartition par sexe des sujets dans les deux groupes est donnée par :

 

H

F

Groupe contrôle

14

17

Groupe expérimental

12

17

Test à partir du tableau de contingence :

> tableau <- matrix(c(14,12, 17, 17), nrow=2, byrow=FALSE)
> tableau
[,1] [,2]
[1,] 14 17
[2,] 12 17

N.B. Variantes de cette commande :

> tableau1 <- array(c(14,12,17,17), dim=c(2,2))

> chisq.test(tableau)

Pearson's Chi-squared test with Yates' continuity correction

data: tableau
X-squared = 0.0012, df = 1, p-value = 0.9723

> chisq.test(tableau, correct=FALSE)

Pearson's Chi-squared test

data: tableau
X-squared = 0.0873, df = 1, p-value = 0.7677

L'ensemble des résultats fournis par la fonction chisq.test peut être obtenu par :

> unlist(chisq.test(tableau,correct=FALSE))
statistic.X-squared parameter.df p.value
"0.0872764610250705" "1" "0.767668552180959"
method data.name observed1
"Pearson's Chi-squared test" "tableau" "14"
observed2 observed3 observed4
"12" "17" "17"
expected1 expected2 expected3
"13.4333333333333" "12.5666666666667" "17.5666666666667"
expected4 residuals1 residuals2
"16.4333333333333" "0.154609355914547" "-0.159851832367443"
residuals3 residuals4
"-0.135201959647311" "0.139786372315249"

On peut aussi obtenir le tableau des effectifs théoriques par :

> chisq.test(tableau, correct=FALSE)$exp
[,1] [,2]
[1,] 13.43333 17.56667
[2,] 12.56667 16.43333
> chisq.test(tableau, correct=FALSE)$res
[,1] [,2]
[1,] 0.1546094 -0.1352020
[2,] -0.1598518 0.1397864
>

Test du khi-2, à partir du protocole

A partir du protocole, on peut obtenir une table

> GC <- c(rep("G",14),rep("F",17))
> GExp <- c(rep("G",12),rep("F",17))
> Sexe <- c(GC, GExp)
> Groupe <- c(rep("GC",31), rep("GExp",29))
> table(Groupe,Sexe)
Sexe
Groupe F G
GC 17 14
GExp 17 12

> chisq.test(table(Groupe,Sexe),correct=FALSE)

Pearson's Chi-squared test

data: table(Groupe, Sexe)
X-squared = 0.0873, df = 1, p-value = 0.7677

Pour obtenir les valeurs critiques de la loi du khi-2 :

> qchisq(0.95,1)
[1] 3.841459
> qchisq(0.05,1,lower.tail=FALSE)
[1] 3.841459
>