Un fichier de données
Travaillons sur une enquête de satisfactions dans un hôpital, récupéré lors d’un cours de FUN (France Unité Numérique). Les fichiers sont disponibles ici.
Par la suite, ces données seront stockées dans la variable satis .
Dans ces données comme souvent, les observations sont en lignes et les variables en colonnes.
Présentation
$B$ | $\overlineB$ | |
$A$ | $a$ | $b$ |
$\overlineA$ | $c$ | $d$ |
Dans le tableau précédent, on cherche à savoir si le facteur $B$ influe sur le paramètre $A$.
Un exemple
Cherchons si le sexe des personnes a un rôle dans le fait de recommander l’établissement.
Commençons par préparer les variables.
satis$recommander.b<-ifelse(satis$recommander==2,1,0)
On peut alors donner la répartition dans un tableau à double entrée :
tab<-table(satis$recommander.b,satis$sexe,deparse.level=2) tab
satis$sexe
satis$recommander.b 0 1
0 73 63
1 139 130
Pour obtenir les pourcentages, utilisons l’instrucion prop.table.
Par défaut, elle donne les pourcentages par rapport á l’effectif total :
prop.table(tab)
satis$sexe
satis$recommander.b 0 1
0 0.1802469 0.1555556
1 0.3432099 0.3209877
Pour avoir les pourcentages par rapport au total de chaque ligne, on rajoutera margin=1, ou margin=2 pour le total en colonnes.
prop.table(tab,margin=1)
satis$sexe
satis$recommander.b 0 1
0 0.5367647 0.4632353
1 0.5167286 0.4832714
On constate un écart entre les deux répartitions : légèrement plus d’hommes (0) recommandent l’établissement. Mais est-ce significatif ?
Test de Chi2 ou test de fisher ?
Par défaut, on utilisera le test du Chi2. Mais il faut que les deux conditions suivantes soient respectées :
– des effectifs pas trop petits ;
– des pourcentages pas trop extrêmes.
Si ces conditions ne sont pas respectées, ce que nous dira le test du Chi2, on utilisera le test de Fisher.
Les tests avec R
Pour le test du Chi2 :
chisq.test(satis$recommander.b,satis$sexe,correct=FALSE)
Pearson's Chi-squared test
data: satis$recommander.b and satis$sexe
X-squared = 0.1454, df = 1, p-value = 0.703
Pour le test de Fisher :
fisher.test(satis$recommander.b,satis$sexe)
Fisher's Exact Test for Count Data
data: satis$recommander.b and satis$sexe
p-value = 0.7523
alternative hypothesis: true odds ratio is not equal to 1
95 percent confidence interval:
0.7020996 1.6745388
sample estimates:
odds ratio
1.083487
Dans les deux cas, on constate que la p-value est trop élevée (supérieure à $5~\%$.)