Le tableau à double entrée avec R

Présentation

On souhaite produire des échantillons à partir d’un tableau à double entrée suivant :

  $B$ $\overlineB$
$A$ n_AB n_Ab
$\overlineA$ n_aB n_ab

En début de script, on renseigne ces 4 effectifs et la taille de l’échantillon voulu.

Le script affiche en sortie :
– la répartition initiale
– les probabilités correspondantes
– la taille de l’échantillon voulu
– le tableau des effectifs obtenus
– le tableau des fréquences obtenues

Le script

#-------------------------- A modifier
nb_AB<-20    
nb_Ab<-30
nb_aB<-15
nb_ab<-35

tailleEchantillon<-1000


###############################################################################
# Création des données (univers)

d_AB<-data.frame("A"=c(rep("Oui",nb_AB)),"B"=c(rep("Oui",nb_AB)))
d_Ab<-data.frame("A"=c(rep("Oui",nb_Ab)),"B"=c(rep("Non",nb_Ab)))
d_aB<-data.frame("A"=c(rep("Non",nb_aB)),"B"=c(rep("Oui",nb_aB)))
d_ab<-data.frame("A"=c(rep("Non",nb_ab)),"B"=c(rep("Non",nb_ab)))

univers<-rbind(d_AB,d_Ab,d_aB,d_ab)

# Création du tableau de la répartion initiale

tabRepartition<-table(univers$A,univers$B,deparse.level=2)
print("Répartition initiale")
print(tabRepartition)

# Calcul des probabilités

tabProbabilites<-prop.table(tabRepartition)
print("Tableau des probabilités")
print(tabProbabilites)


##################################################################################

# Affichage de la taille de l'échantillon

print("Taille de l'échantillon")
print(tailleEchantillon)

# Création de l'échantillon

x<-1:nrow(univers)
echantillon<-NULL

for (i in seq(1,tailleEchantillon)) 
{
  k<-sample(x,1)
  echantillon<-rbind(echantillon,univers[k,])
}

# Création du tableau des effectifs

tabEffectifs<-table(echantillon$A,echantillon$B,deparse.level=2)

print("Tableau des Effectifs sur l'échantillon")
print(tabEffectifs)

# Création du tableau de fréquences

tabFrequences<-prop.table(tabEffectifs)

print("Tableau des Fréquences sur l'échantillon")
print(tabFrequences)

 

On obtient dans la console :


[1] "Répartition initiale"
univers$B
univers$A Oui Non
Oui 20 30
Non 15 35
[1] "Tableau des probabilités"
univers$B
univers$A Oui Non
Oui 0.20 0.30
Non 0.15 0.35
[1] "Taille de l'échantillon"
[1] 1000
[1] "Tableau des Effectifs sur l'échantillon"
echantillon$B
echantillon$A Oui Non
Oui 219 311
Non 151 319
[1] "Tableau des Fréquences sur l'échantillon"
echantillon$B
echantillon$A Oui Non
Oui 0.219 0.311
Non 0.151 0.319