Test1bAsym2MoyeInde=function(Donnees1,Donnees2,Delta_0,Seuil) # Appel de la procédure avec les vecteurs contenant les observations, la valeur de Delta_0 pour l'aternative # H^{(1b)}_0={Delta_0 <= Delta_m} contre H^{(1b)}_1={Delta_m < Delta_0} et le Seuil de signification du test. { N1=length(Donnees1) # Nombre d'observations du premier échantillon. N2=length(Donnees2) # Nombre d'observations du deuxième échantillon. Moyenne1=mean(Donnees1) # Moyenne des observations du premier échantillon. Moyenne2=mean(Donnees2) # Moyenne des observations du deuxième échantillon. Variance1=var(Donnees1) # Variance corrigée des observations du premier échantillon. Variance2=var(Donnees2) # Variance corrigée des observations du deuxième échantillon. EcartType1=sd(Donnees1) # Ecart type corrigé des observations du premier échantillon. EcartType2=sd(Donnees2) # Ecart type corrigé des observations du deuxième échantillon. Difference=Moyenne1-Moyenne2 # Différence des deux moyennes observées. EcartTypeDifference=sqrt(Variance1/N1+Variance2/N2) # Ecart type de la différence des moyennes observées. N=N1+N2 # Nombre total d'observations. N1apost=as.integer(0.5+N*EcartType1/(EcartType1+EcartType2)) # Effectif du 1er échantillon a posteriori donnant une puissance maximale. N2apost=as.integer(0.5+N*EcartType2/(EcartType1+EcartType2)) # Effectif du 2ème échantillon a posteriori donnant une puissance maximale. Quant=qnorm(Seuil,lower.tail=TRUE) # Quantile d'ordre alpha de la loi N(0 ; 1). Critique=Delta_0+Quant*EcartTypeDifference # Valeur critique du test. Pval=pnorm((Difference-Delta_0)/EcartTypeDifference) # p-valeur du test. if(Difference <= Critique) # Résultat du test. { Resultat="«H^{(1b)}_1={ Delta_m < " } else{ Resultat="«H^{(1b)}_0={ Delta_m >= " } options(digits=4) # Format d'affichage des résultats. cat("\nTest asymptotique de l'alternative : H^{(1b)}_0={",Delta_0,"<=Delta_m} contre H^{(1b)}_1={Delta_m <",Delta_0,"}.\n\n") # Affichage des résultats. cat("Premier échantillon, taille :",N1,"; moyenne :",Moyenne1,"; écart type : ",EcartType1,".\n") cat("Deuxième échantillon, taille :",N2,"; moyenne :",Moyenne2,"; écart type : ",EcartType2,".\n\n") cat("Différence observée :",Difference,"; écart type observé de la différence : ",EcartTypeDifference,".\n\n") cat("Seuil asymptotique du test :",Seuil,"; estimation valeur critique :",Critique,".\n\n") cat("Estimation de la p-valeur :",Pval,".\n") cat("Décision :",Resultat,Delta_0,"} est vraie».\n\n") if((Difference < Delta_0)&(Difference >= Critique)) # La puissance a posteriori n'est affichée que si la Difference observée est dans H1 et la décision est «H0 est vraie» { PuisAPoster=pnorm(Quant+(Delta_0-Difference)/EcartTypeDifference) # Estimation de la puissance a posteriori. cat("Une estimation de la puissance asymptotique a posteriori est :",PuisAPoster,".\n") } cat("Estimation des effectifs a posteriori donnant la puissance maximale :\n") cat("Premier échantillon :",N1apost,"; second échantillon :",N2apost,".\n\n") }