Intervalles de confiance
Une version actualisée de ce chapitre est disponible sur guide-R : Statistique univariée & Intervalles de confiance
Nous utiliserons dans ce chapitre les données de l’enquête Histoire de vie 2003 fournies avec l’extension questionr.
Intervalle de confiance d’une moyenne
L’intervalle de confiance d’une moyenne peut être calculé avec la fonction t.test (fonction qui permet également de réaliser un test t de Student comme nous le verrons dans le chapitre dédié aux comparaisons de moyennes) :
One Sample t-test
data: d$heures.tv
t = 56.505, df = 1994, p-value < 2.2e-16
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
2.168593 2.324540
sample estimates:
mean of x
2.246566
Le niveau de confiance peut être précisé via l’argument conf.level :
One Sample t-test
data: d$heures.tv
t = 56.505, df = 1994, p-value < 2.2e-16
alternative hypothesis: true mean is not equal to 0
90 percent confidence interval:
2.181138 2.311995
sample estimates:
mean of x
2.246566
Le nombre d’heures moyennes à regarder la télévision parmi les enquêtés s’avère être de 2,2 heures, avec un intervalle de confiance à 95 % de [2,17 - 2,33] et un intervalle de confiance à 90 % de [2,18 - 2,31].
Intervalle de confiance d’une médiane
L’intervalle de confiance d’une médiane peut être calculé avec la fonction wilcox.test en précisant conf.int = TRUE :
Wilcoxon signed rank test with continuity correction
data: d$heures.tv
V = 1542646, p-value < 2.2e-16
alternative hypothesis: true location is not equal to 0
95 percent confidence interval:
2.499994 2.500000
sample estimates:
(pseudo)median
2.499948
D’autres approches existent pour le calcul d’un tel intervalle de confiance. On pourra se référer à la fonction MedianCI de l’extension DescTools.
Intervalle de confiance d’une proportion
La fonction prop.test permet de calculer l’intervalle de confiance d’une proportion. Une première possibilité consiste à lui transmettre une table à une dimension et deux entrées. Par exemple, si l’on s’intéresse à la proportion de personnes ayant pratiqué une activité physique au cours des douze derniers mois :
1-sample proportions test with continuity correction
data: table(d$sport), null probability 0.5
X-squared = 152.9, df = 1, p-value < 2.2e-16
alternative hypothesis: true p is not equal to 0.5
95 percent confidence interval:
0.6169447 0.6595179
sample estimates:
p
0.6385
On remarquera que la fonction a calculé l’intervalle de confiance correspondant à la première entrée du tableau, autrement dit celui de la proportion d’enquêtés n’ayant pas pratiqué une activité sportive. Or, nous sommes intéressé par la proportion complémentaire, à savoir celle d’enquêtés ayant pratiqué une activité sportive. On peut dès lors modifier l’ordre de la table en indiquant notre modalité d’intérêt avec la fonction relevel ou bien indiquer à prop.test d’abord le nombre de succès puis l’effectif total :
1-sample proportions test with continuity correction
data: table(relevel(d$sport, "Oui")), null probability 0.5
X-squared = 152.9, df = 1, p-value < 2.2e-16
alternative hypothesis: true p is not equal to 0.5
95 percent confidence interval:
0.3404821 0.3830553
sample estimates:
p
0.3615
1-sample proportions test with continuity correction
data: sum(d$sport == "Oui") out of length(d$sport), null probability 0.5
X-squared = 152.9, df = 1, p-value < 2.2e-16
alternative hypothesis: true p is not equal to 0.5
95 percent confidence interval:
0.3404821 0.3830553
sample estimates:
p
0.3615
Enfin, le niveau de confiance peut être modifié via l’argument conf.level :
1-sample proportions test with continuity correction
data: table(relevel(d$sport, "Oui")), null probability 0.5
X-squared = 152.9, df = 1, p-value < 2.2e-16
alternative hypothesis: true p is not equal to 0.5
90 percent confidence interval:
0.3437806 0.3795989
sample estimates:
p
0.3615
Il existe de nombreuses manières de calculer un intervalle de confiance pour une proportion. En l’occurence, l’intervalle calculé par prop.test correspond dans le cas présent à un intervalle bilatéral selon la méthode des scores de Wilson avec correction de continuité. Pour plus d’information, on pourra lire http://joseph.larmarange.net/?Intervalle-de-confiance-bilateral.
Pour se simplifier un peu la vie, le package JLutils propose une fonction prop.ci (et ses deux variantes prop.ci.lower et prop.ci.upper) permettant d’appeler plus facilement prop.test et renvoyant directement l’intervalle de confiance.
JLutils n’étant disponible que sur GitHub, on aura recours au package devtools et à sa fonction install_github pour l’installer :
prop.ci fonction accepte directement un tri à plat obtenu avec table, un vecteur de données, un vecteur logique (issu d’une condition), ou bien le nombre de succès et le nombre total d’essais. Voir les exemples ci-après :
[1] 0.6169447 0.6595179
[1] 0.6169447
[1] 0.6595179
[1] 0.6204011 0.6562194
[1] 0.6169447 0.6595179
[1] 0.6169447 0.6595179
[1] 0.3404821 0.3830553
[1] 0.6169447 0.3404821
[1] 0.6595179 0.3830553
Données pondérées et l’extension survey
Lorsque l’on utilise des données pondérées définies à l’aide de l’extension survey1, l’intervalle de confiance d’une moyenne s’obtient avec confint et celui d’une proportion avec svyciprop.
Quelques exemples :
mean SE
age 46.347 0.5284
2.5 % 97.5 %
age 45.3117 47.38282
2.5 % 97.5 %
Homme 43.74781 46.65618
Femme 45.88867 48.79758
2.5% 97.5%
sexe 0.535 0.507 0.56
Voir le chapitre dédié aux données pondérées.↩︎
