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")