Comment créer une table à deux voies dans R (avec exemples)



Un tableau à double entrée est un type de tableau qui affiche les fréquences de deux variables catégorielles.

Par exemple, le tableau à double entrée suivant montre les résultats d’une enquête qui a demandé à 100 personnes quel sport elles préféraient : le baseball, le basket-ball ou le football.

Les lignes affichent le sexe du répondant et les colonnes indiquent le sport qu’il a choisi :

Ce didacticiel fournit plusieurs exemples de création et d’utilisation de tableaux bidirectionnels dans R.

Exemple 1 : Créer une table à double entrée à partir de zéro

Le code suivant montre comment créer une table à double entrée à partir de zéro à l’aide de la fonction as.table() :

#create matrix
data <- matrix(c(13, 23, 15, 16, 20, 13), ncol=3)

#specify row and column names of matrix
rownames(data) <- c('Male', 'Female')
colnames(data) <- c('Baseball', 'Basketball', 'Football')

#convert matrix to table
data <- as.table(data)

#display table
data

       Baseball Basketball Football
Male         13         15       20
Female       23         16       13

Exemple 2 : créer une table bidirectionnelle à partir de données

Le code suivant montre comment créer une table bidirectionnelle à partir d’un bloc de données :

#create data frame
df <- data.frame(sport=c('Base', 'Base', 'Bask', 'Foot', 'Foot'),
                 gender=c('Male', 'Female', 'Male', 'Male', 'Female'))

#view data frame 
df

#create two way table from data frame
data <- table(df$gender, df$sport)

#display two way table
data 

         Base Bask Foot
  Female    1    0    1
  Male      1    1    1

Exemple 3 : calculer les sommes de marge d’un tableau à double entrée

Le code suivant montre comment calculer les sommes de marge d’un tableau à double entrée à l’aide de la fonction margin.table() :

#create matrix of data
data <- matrix(c(13, 15, 20, 23, 16, 13), ncol=3)
rownames(data) <- c('Male', 'Female')
colnames(data) <- c('Baseball', 'Basketball', 'Football')

#find sum of genders
margin.table(data, margin=1)

  Male Female 
    49     51

#find sum of sports

margin.table(data, margin=2)

  Baseball Basketball   Football 
        28         43         29 

Exemple 4 : Visualiser les fréquences d’un tableau bidirectionnel

Une façon de visualiser les fréquences dans un tableau à deux entrées est de créer un barplot :

barplot(data, legend=True, beside=True, main='Favorite Sport by Gender')

Une autre façon de visualiser les fréquences dans un tableau à double entrée est de créer un tracé en mosaïque :

mosaicplot(data, main='Sports Preferences', xlab='Gender', ylab='Favorite Sport')


Vous pouvez trouver plus de didacticiels R sur cette page .

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *