Sawadogo Lassinin
2024-04-07
A l’aide du langage de programmation R.
pwrsamplingbooksamplesizeTrialSizepresizepmsampsizesamplingbook pour traiter les
méthodes de représentativité et le Package pwr dans le cas des méthodes de
puissance.samplesize Le package R samplesize est destiné au calcul de la
taille d’échantillon pour des tests statistiques précis. Il est basé
principalement sur le Test t de Student et le
Test de Wilcoxon-Mann-Whitney .
Il propose plusieurs fonctions pour calculer la taille de l’échantillon nécessaire dans différentes situations : sample.size.prop() : calcule la taille de l’échantillon nécessaire pour estimer une proportion avec une précision donnée;
- `sample.size.mean()`{.R} : calcule la taille de l'échantillon nécessaire pour estimer une moyenne avec une précision donnée;
- `sample.size.survival()`{.R} : calcule la taille de l'échantillon nécessaire pour une étude de survie en spécifiant le taux de survie attendu, le temps de suivi, le taux d'évènements par unité de temps, le niveau de confiance et la puissance de test.
- `sample.size.prop.cluster()`{.R} : calcule la taille de l'échantillon nécessaire pour une étude avec échantillonnage en grappes (ou groupes), en spécifiant le nombre de grappes, la taille moyenne de chaque grappe, la proportion attendue, le niveau de confiance et la marge d'erreur tolérée.
La fonction sample.size.prop()
: renvoie la taille de l’échantillon nécessaire pour l’estimation de la
proportion, avec ou sans prise en compte de la correction de population
finie.
Utilisation : sample.size.prop(e, P = 0.5, N = Inf, level = 0.95)
Les principaux arguments de la fonction sample.size.prop()
e : précision
qui est la moitié de la largeur de l’intervalle de confiance.
P : proportion
attendue des évènements avec des valeurs comprises entre 0 et 1. Par
défaut, P=0.5.
N : taille de la
population. Par défaut, N=Inf, ce qui signifie
que les calculs sont effectués sans correction de population
finie.
level :
probabilité de couverture pour les intervalles de
confiance. Par défaut, level=0.95.
pwr Le package pwr est utilisé pour
effectuer des calculs de puissance et de taille d’échantillon dans le
cadre des sondages. Il offre une gamme de fonctions permettant de
déterminer la taille d’échantillon nécessaire pour différents types
d’analyses, ainsi que d’évaluer la puissance statistique des tests.
La fonction pwr.t.test(): calcul
la taille n de l’échantillon dans le
cas de la comparaison d’une moyenne a un standard.
Utilisation de la fonction :
pwr.t.test(n = NULL, d = NULL, sig.level = 0.05, power = NULL, alternative = c("two.sided", "one.sided"), type = c("two.sample", "one.sample", "paired"), alternative = c("two.sided", "greater", "less"))
Les principaux arguments de la fonction pwr.t.test()
n : taille de
l’échantillon. Si cet argument est renseigné, la fonction
calculera la puissance du test en l’utilisant. Si n est
laissé à NULL, la fonction calculera la taille de
l’échantillon nécessaire pour atteindre la puissance spécifiée.
d : taille de
l’effet, différence standardisée entre les moyennes des groupes
ou toute autre mesure de l’effet.
sig.level : niveau de
significativité du test t, généralement fixé à 0.05 pour un
seuil de 5%. Il représente la probabilité de rejeter l’hypothèse nulle
lorsqu’elle est vraie.
power: puissance du
test, qui est la probabilité de rejeter H0 lorsque H1 est
vraie. Si power est laissé à NULL, la fonction
calculera la puissance du test en utilisant la taille de l’échantillon
fournie.
type : type de test
t. “two.sample” pour un test t à deux échantillons (par
défaut), “one.sample” pour un test t à un échantillon, ou “paired” pour
un test t apparié.
alternative : hypothèse
alternative pour le test t. Les options disponibles sont
“two.sided” (bilatéral) par défaut, “greater” (unilatéral supérieur) et
“less” (unilatéral inférieur).
Une étude visant à comparer la moyenne de la consommation quotidienne de calories entre deux régimes alimentaires différents : régime A et régime B. On souhaite déterminer la taille d’échantillon nécessaire pour détecter une différence de 100 calories entre les deux groupes, avec une puissance de test de 80% et un niveau de significativité de 5%.
\[ H_0: \mu_A - \mu_B=100 \ \ \ et \ \
\ H_1: \mu_A-\mu_B \neq 100 \]
# Charger le package "pwr"
library(pwr)
# Spécifier les paramètres du test
diff_effet = 100 # Différence d'effet à détecter entre les deux groupes
ecart_type = 200 # Écart type de la population (hypothétique)
power = 0.8 # Puissance du test souhaitée
sig_level = 0.05 # Niveau de significativité
# Calculer la taille minimale de l'échantillon
taille_ech <- pwr.t.test(n = NULL, d = diff_effet/ecart_type, sig.level = 0.05,
power = 0.8, alternative = "two.sided")$n
# Afficher la taille minimale de l'échantillon
print(paste("Taille minimale de l'échantillon:", round(taille_ech)))## [1] "Taille minimale de l'échantillon: 64"
La taille minimale de l’échantillon pour pouvoir détecter une différence de 100 calories entre les deux groupes A et B est : 64
La fonction pwr.p.test(): calcul
la taille n de l’échantillon dans le cas de la comparaison
d’une proportion a un standard.
Utilisation de la fonction :
pwr.p.test(h = NULL, n = NULL, sig.level = 0.05, power = NULL, alternative = c("two.sided", "less", "greater"))
Les principaux arguments de la fonction pwr.t.test()
h : (différence entre la proportion et
l’hypothèse nulle), la taille de l’effet que vous souhaitez
détecter dans votre test de proportion.n : taille de l’échantillon.sig.level : niveau de significativité
du testpower : puissance du testalternative : hypothèse
alternativeExemple : Une étude visant à évaluer la proportion de personnes dans une population qui préfèrent le produit A par rapport au produit B. L’on souhaite déterminer la taille d’échantillon nécessaire pour détecter une différence de proportion de 10% entre les deux produits, avec une puissance de test de 80% et un niveau de signification de 5%.
Les hypothèses du test s’écrivent:
\[ H_0: p_1 - p_2=0.1 \ \ \ et \ \
\ H_1: p_1 - p_2 \neq 0.1 \]
# Charger le package "pwr"
library(pwr)
# Spécifier les paramètres du test
diff_prop = 0.10 # Différence de proportion à détecter
sig_level = 0.05 # Niveau de signification du test
power = 0.80 # Puissance du test souhaitée
alternative = "two.sided" # Hypothèse alternative
# Calculer la taille d'échantillon nécessaire
taille_ech_p <- pwr.p.test(h = diff_prop,
sig.level = 0.05,
power = 0.80,
alternative = "two.sided")$n
# Afficher la taille d'échantillon nécessaire
print(paste("Taille d'échantillon nécessaire:", round(taille_ech_p)))## [1] "Taille d'échantillon nécessaire: 785"
La taille minimale de l’échantillon pour pouvoir détecter une différence une différence de proportion de 10% entre les deux produits A et B est : 785
Les données utilisées dans notre étude proviennent du Ministère de la Santé du Burkina Faso. Notre base de sondage concerne l’ensemble des formations sanitaires (FS) réparties sur l’ensemble du territoire.
#Chargement du Répertoire de travail
setwd("C:/Users/SAWADOGO/Desktop/CSAD A2/SONDAGE/Devoir")
data_fs <- read.csv("base_fs.csv",header = T,sep = ";")
#Création de la variable d'identification des unités avec un entier
data_fs$id <- 1:nrow(data_fs)
data_fs <- data_fs[,c(20,1:19)] #Positionner la variable ID en première positionlibrary(kableExtra)
library(dplyr)
kable(data_fs[1:10, c(1,3,5,7,9,11,12)], booktabs = TRUE, longtable=T) %>%
kable_styling(font_size = 10) %>%
row_spec(0, bold =T, background = "lightblue")| id | region | province | district | commune | village_secteur | milieu |
|---|---|---|---|---|---|---|
| 1 | BOUCLE DU MOUHOUN | BALE | DISTRICT SANITAIRE DE BOROMO | FARA | FARA | RURAL |
| 2 | BOUCLE DU MOUHOUN | BALE | DISTRICT SANITAIRE DE BOROMO | FARA | FARA | RURAL |
| 3 | BOUCLE DU MOUHOUN | BALE | DISTRICT SANITAIRE DE BOROMO | BAGASSI | BAGASSI | RURAL |
| 4 | BOUCLE DU MOUHOUN | BALE | DISTRICT SANITAIRE DE BOROMO | BANA | BANA | RURAL |
| 5 | BOUCLE DU MOUHOUN | BALE | DISTRICT SANITAIRE DE BOROMO | BAGASSI | BANDIO | RURAL |
| 6 | BOUCLE DU MOUHOUN | BALE | DISTRICT SANITAIRE DE BOROMO | YAHO | BONDO | RURAL |
| 7 | BOUCLE DU MOUHOUN | BALE | DISTRICT SANITAIRE DE BOROMO | BOROMO | SECTEUR 2 | URBAIN |
| 8 | BOUCLE DU MOUHOUN | BALE | DISTRICT SANITAIRE DE BOROMO | OURY | DAH | RURAL |
| 9 | BOUCLE DU MOUHOUN | BALE | DISTRICT SANITAIRE DE BOROMO | PA | PA | RURAL |
| 10 | BOUCLE DU MOUHOUN | BALE | DISTRICT SANITAIRE DE BOROMO | FARA | FARA | RURAL |