Déterminer la taille de son échantillon pour une expérience
en langage R
L'essentiel de cette page !
Comment savoir si mon expérience va fonctionner, si mon échantillon est assez grand ?
Attention, je ne suis pas expert du domaine : il existe des modèles mathématiques, mais je ne les connais pas. :-)
Voilà un grossier bidouillage qui permet de se donner une idée vite-fait... On simule plein de populations et on regarde à partir de quand un effet sera visible à presque tous les coups... Ca peut être utilie pour s'éviter une expérience ou un effet léger ne sera jamais détectable à cause du nombre d'individus trop réduits...
J'ai développé 2 fonctions :
- identify_ech() pêrmet de voir quel taille d'échantillon me permettra de voir une différence entre 2 populations.
- check_ech() me permet de savoir quelles tailles de variation seront détectable avec un échantillon dont j'ai fixé la taille.
Quelle taille d'échantillons pour comparer des moyennes ?
J'ai 2 échantillons de moyenne 100 et 101 et d'écart-types 2 et 3 : quelle taille d'échantillon me permettra de détecter qu'ils sont différents ?
identify_ech(mean1=100,mean2=101,sd1=2,sd2=3,nmax=10000)
La fonction identity_ech() est à récupérer plus bas dans cette page.
Pour détecter un effet dans les conditions expérimentales,
la population doit avoir une taille minimale de : 237
Confiance atteinte : 0.954
Mon effet attendu ne sera visible ici qu'avec des échantillons de plus de 237 individus...
Quelles variations sont détectables pour un échantillon ?
J'ai un échantillon de 20 individus. En temps normal, ma population fait 170 cm avec un écart-type de 20.
Quels effets pourrais-je détecter avec un tel échantillon (genre si je teste une hormone de croissance...)
check_ech(n=20,mean = 170,sd = 20)
La fonction check_ech() est à récupérer plus bas dans cette page.
Cet échantillon de 20 individus est discriminant avec une p-value < à 0.05
dans 99 % des cas
pour des différences de moyennes de +/- :
[1] 26.01
Mon échantillon est petit, mon hormone de croissance doit augmenter la taille des gens de 26 cm en moyenne pour qu'il y ait un effet visible !
Quelle taille d'échantillon m'aurait permis de voir une corrélation s'il y en a une ?
J'ai un échantillon 5 valeurs. Je souhaite établir un modèle de régression linéaire, mais je n'ai pas assez de valeurs ? Combien il m'aurait certainement fallu au vu de mes résultats ?
x <- c(1,5,6,9,10)
y <- c(0,4.5,10,9,30)
plot(x,y,cex=2,pch=16)
cor.test(x,y)$p.value # Trop élevé
cor_ech(x,y)
La fonction cor_ech() est à récupérer plus bas dans cette page.
Pour avoir une corrélation significative,
il aurait au moins fallu un nombre de valeurs de :
[1] 11
Compte tenu de mes valeurs, il m'aurait bien fallu 9 valeurs pour pouvoir avoir une corrélation significative (s'il y en a !)
Pour installer ces fonctions ! Code à coller dans la console.
install.packages("devtools") ; require(devtools) # Risque d'erreur si RTools non installé.
devtools::install_github("Antoine-Masse/KefiR")
library("KefiR")