Nous chargeons la base de données dans la variable cpes :
# Charger des données dans la variable cpes
cpes <- read.csv("./cpes_quanti/bdd_alimentation.csv")
On considère conjointement deux variables X et Y pour
Nous allons étudier deux outils qui peuvent être employés pour décrire le lien entre deux variables quantitatives.
Premier exemple : lien entre le nombre de repas pris seuls et le nombre de repas pris dans son logement personnel.
repas.seul <- cpes$repas.qui.seul.midi + cpes$repas.qui.seul.soir
repas.logt <- cpes$repas.ou.logement.midi + cpes$repas.ou.logement.soir
plot(repas.seul, repas.logt,
xlab = "Nombre de repas pris seuls",
ylab = "Nombre de repas pris chez soi",
main = "Lien entre le nombre de repas pris seuls et chez soi")
Questions :
Deuxième exemple : lien entre montant des courses par personne et des ressources financières totales.
# On commence par sélectionner un sous-ensemble de notre échantillon,
# ceux qui ont fait des courses pour au moins une personne.
cpes.courses <- cpes[cpes$courses.pers >= 1, ]
# On peut ensuite ajouter une nouvelle variable à notre base de données : le montant des courses pour une personne
cpes.courses$courses.prixprop <- cpes.courses$courses.prix/cpes.courses$courses.pers
# On trace le nuage de points
plot(cpes.courses$ressources.total, cpes.courses$courses.prixprop,
pch = 19, col = rgb(1, 0, 0, 0.3), # Faire des points transparents à 30%
frame.plot = F, # Supprimer la boîte en haut et à droite
xlab = "Montant des ressources totales (€)",
ylab = "Montant des courses par personne (€)",
main = "Lien entre ressources financières et montant des courses")
Questions :
Le coefficient \(r\) de Pearson permet de mesurer le degré de corrélation linéaire entre deux variables quantitatives \(X\) et \(Y\). Il est compris entre \([-1 ; 1]\) :
Prudence ! Le \(r\) de Pearson mesure seulement la force de la corrélation linéaire entre deux variables. D’autres relations, non-linéaires, peuvent exister.
Calcul du \(r\) pour l’exemple 1 :
# L'argument "use" permet de ne pas se préoccuper des NA
cor(repas.seul, repas.logt, use = "complete.obs")
[1] 0.4300067
Interprétez ce coefficient.
Calcul du \(r\) pour l’exemple 2 :
# L'argument "use" permet de ne pas se préoccuper des NA
cor(cpes.courses$ressources.total, cpes.courses$courses.prixprop, use = "complete.obs")
[1] 0.1249346
Interprétez ce coefficient et comparez-le au précédent. Que pouvez-vous en déduire ?
Aussi appelé “tableau croisé”.
Si les statisticiens préfèrent, en toute rigueur, parler de « table de contingence », les sociologues utilisent plus facilement l’expression de « tableau croisé », plus imagée, pour désigner cet outil qui à lui seul incarne, en même temps qu’il la symbolise, toute une façon de faire de la sociologie.
Pierre Mercklé - Les 100 mots de la sociologie
Exemple : étudier le lien entre genre et filière du CPES.
t <- table(cpes$genre, cpes$cpes.filiere)
t
humanites sciences sesj
femme 35 17 42
homme 17 9 8
Avec les marges :
t.margins <- addmargins(t)
t.margins
humanites sciences sesj Sum
femme 35 17 42 94
homme 17 9 8 34
Sum 52 26 50 128
En changeant le nom des marges :
t.margins <- addmargins(t, FUN = list(list(Ensemble = sum)), quiet = T)
t.margins
humanites sciences sesj Ensemble
femme 35 17 42 94
homme 17 9 8 34
Ensemble 52 26 50 128
Interprétez. Quelles sont les limites d’un tableau contenant uniquement des effectifs ?
Solution “manuelle” ?
t/nrow(cpes)
humanites sciences sesj
femme 0.2734375 0.1328125 0.3281250
homme 0.1328125 0.0703125 0.0625000
Évidemment, il existe une fonction plus élégante, fournie par le package questionr :
library("questionr")
prop(t)
humanites sciences sesj Total
femme 27.3 13.3 32.8 73.4
homme 13.3 7.0 6.2 26.6
Total 40.6 20.3 39.1 100.0
Interprétez ce tableau. Quelles sont ses limites ?
Fonction rprop, fournie par questionr, rend la tâche très simple :
lprop(t)
humanites sciences sesj Total
femme 37.2 18.1 44.7 100.0
homme 50.0 26.5 23.5 100.0
Ensemble 40.6 20.3 39.1 100.0
Comment interpréter ce tableau ? Comment utiliser l’ensemble ? Ce tableau nous informe-t-il sur le lien entre ces deux variables ? Si oui, de quelle manière ?
Encore une fois, une fonction très simple :
cprop(t)
humanites sciences sesj Ensemble
femme 67.3 65.4 84.0 73.4
homme 32.7 34.6 16.0 26.6
Total 100.0 100.0 100.0 100.0
Comment interpréter ce tableau ? Comment utiliser l’ensemble ? Ce tableau nous informe-t-il sur le lien entre ces deux variables ? Si oui, de quelle manière ?
Difficulté pour les questions à choix multiples,
# Étape 1 : regrouper les variables dichotomiques
courses <- cpes[, c("courses.bio", "courses.discount", "courses.epicerie", "courses.marche", "courses.supermarche", "courses.traiteur")]
# Étape 2 : créer le tableau des effectifs
t <- cross.multi.table(courses, cpes$cpes.filiere)
addmargins(t)
humanites sciences sesj Sum
courses.bio 9 5 4 18
courses.discount 18 5 15 38
courses.epicerie 6 2 5 13
courses.marche 2 1 1 4
courses.supermarche 19 10 23 52
courses.traiteur 4 2 8 14
Sum 58 25 56 139
On peut aussi calculer des pourcentages en colonne si l’on souhaite :
# Étape 3 : afficher le tableau avec des % en colonne
cprop(t)
humanites sciences sesj Ensemble
courses.bio 15.5 20.0 7.1 12.9
courses.discount 31.0 20.0 26.8 27.3
courses.epicerie 10.3 8.0 8.9 9.4
courses.marche 3.4 4.0 1.8 2.9
courses.supermarche 32.8 40.0 41.1 37.4
courses.traiteur 6.9 8.0 14.3 10.1
Total 100.0 100.0 100.0 100.0
Attention : est-ce normal d’obtenir 100% en total ? Déduisez l’individu statistique dans ce tableau.
Graphique en mosaïque :
mosaicplot(genre ~ cpes.filiere, data = cpes,
main = "Relation entre genre et filière du CPES")
Premier exemple : lien entre temps passé à cuisiner et le genre.
boxplot(cuisine.temps ~ genre, data = cpes)
Interprétez.
Exemple 2 : temps de cuisine et baccalauréat de la mère.
boxplot(cuisine.temps ~ mere.bac, data = cpes)
Interprétez.
Tableau qui croise la variable catégorielle avec la moyenne de la variable quantitative dans chacun des groupes.
Exemple 1 :
aggregate(cpes$cuisine.temps, list(Genre=cpes$genre), mean, na.rm = TRUE)
Exemple 2 :
aggregate(cpes$cuisine.temps, list(MereBac=cpes$mere.bac), mean, na.rm = TRUE)
Comment interpréter ces deux tableaux ?