Nous allons charger les données depuis un fichier [disque dur] dans notre environnement R [mémoire vive] :
library(tidyverse)
# Charger des données dans la variable cpes
cpes <- read_csv("./cpes_quanti/bdd_alimentation.csv")
Parsed with column specification:
cols(
.default = col_character(),
ne.annee = col_integer(),
cpes.promo = col_integer(),
bac.annee = col_integer(),
bourse = col_integer(),
repas.qui.seul.midi = col_integer(),
repas.qui.seul.soir = col_integer(),
repas.qui.cpes.midi = col_integer(),
repas.qui.copain.midi = col_integer(),
repas.qui.copain.soir = col_integer(),
repas.qui.amis.midi = col_integer(),
repas.qui.parents.midi = col_integer(),
repas.qui.parents.soir = col_integer(),
repas.qui.famille.midi = col_integer(),
repas.qui.famille.soir = col_integer(),
repas.qui.autre = col_integer(),
repas.travail.midi = col_integer(),
repas.travail.soir = col_integer(),
repas.abs.midi = col_integer(),
repas.abs.soir = col_integer(),
repas.abs.temps = col_integer()
# ... with 42 more columns
)
See spec(...) for full column specifications.
cpes$genre <- as.factor(cpes$genre)
Nota Bene :
getwd() et setwd() pour configurer le dossier de travail (working directory)On peut vérifier que les données sont bien chargées :
# Visualiser les données comme dans un tableur
View(cpes)
Décrire ses données ne signifie pas les restituer, mais synthétiser des informations pour en tirer une vision d’ensemble.
Statistique descriptive : ensemble des méthodes statistiques synthétisant les données afin de décrire une population.
La statistique descriptive permet donc de passer des données atomisées (au niveau de l’individu) aux données agrégées (au niveau de la population).
Elle s’oppose à la statistique inférentielle qui appartien à un régime explicatif.
On peut décrire :
Les méthodes de la statistique descriptive comprennent :
Le tri à plat permet de décrire la distribution d’une variable catégorielle. Il s’agit de produire un tableau regroupant l’effectif et la fréquence de chacune des modalités d’une telle variable.
Effectif : nombre d’observations pour laquelle la variable étudiée prend la modalité en question. (\(n_{modalite}\))
summary(cpes$genre)
femme homme
94 34
Ou :
table(cpes$genre) # "table" = "faire un tableau"
femme homme
94 34
Ou bien, sous forme de diagramme en barres :
plot(cpes$genre) # "plot" = "faire graphique"
Exercice : faire un tri à plat du diplôme de la mère.
Fréquence : proportion de l’effectif d’une modalité par rapport à l’effectif total. (\(\frac{n_{modalite}}{n}\))
Dans R : “à la main”
table(cpes$genre)/length(cpes$genre)
femme homme
0.734375 0.265625
Ou avec le package “questionr” :
library("questionr")
freq(cpes$genre)
Niveau expert :
freq(cpes$genre,
digits = 2, # 2 chiffres après la virgule
total = TRUE, # Ajouter le total des colonnes
exclude = NA # Ne pas afficher les NA
)
Exercice : tri à plat avec fréquences pour la filière du cpes.
Lorsque le tri à plat porte sur une variable catégorielle ordonnée (les modalités peuvent être triées dans un ordre logique), le tri à plat peut inclure, outre l’effectif et la fréquence, la fréquence cumulée.
La fréquence cumulée d’une modalité est égale à la somme de sa fréquence et des fréquences de toutes les modalités précédentes dans l’ordre logique de classement des modalités.
pere.dipl <- ordered(cpes$pere.dipl, levels = c("doctorat", "master", "licence", "CAP", "aucun"))
tri.pere.dipl <- freq(pere.dipl, total = TRUE, cum = TRUE)
tri.pere.dipl
Pour une variable quantitative, un tri à plat est souvent peu approprié, en particulier dans le cas d’une variable continue. En revanche, réaliser un tri à plat est techniquement possible, et peut s’avérer utile dans certains cas.
Exemple avec une variable dichotomique :
table(cpes$pere.bac, useNA = "always")
0 1 <NA>
30 97 1
En revanche, il est toujours utile de visualiser la distribution d’une variable quantitative sous forme d’un histogramme.
hist(cpes$repas.qui.seul.midi)
Question : comment visualer la distribution du nombre de repas pris seul le midi ET le soir ?
On distingue deux types d’indicateurs permettant de décrire les variables quantitatives:
Ces deux ensembles d’indicateurs sont complémentaires. Ils doivent être employés ensemble.
Le mode est la modalité ou la valeur la plus fréquente d’une distribution.
Dans le cas d’une variable qualitative, le mode est la modalité qui a l’effectif le plus élevé.
Pour une variable quantitative discrète, le mode est la valeur qui a l’effectif le plus élevé.
Pour une variable quantitative continue, le mode n’a aucun sens, car chaque valeur a une grande probabilité d’être unique. Dans ce cas, on ne peut le calculer qu’à condition de découper la variable en classes.
cpes$cpes.filiere <- as.factor(cpes$cpes.filiere)
plot(cpes$cpes.filiere)
hist(cpes$repas.ou.fast.midi + cpes$repas.ou.fast.soir)
La médiane est la valeur d’une variable telle que la moitié des valeurs lui est supérieure et l’autre moitié inférieure. Elle peut être calculée pour des variables qualitatives ordonnée ou pour des variables quantitatives.
Il s’agit de la classe qui contient la valeur séparant les observations ordonnées en deux sous-ensembles de taille égale.
tri.pere.dipl
Il suffit de classer les observations par ordre croissant. Si la variable a un nombre d’observations n impair, la médiane est la valeur de rang \(\frac{n+1}{2}\).
Si la variable a un nombre d’observations n pair, la médiane est la moyenne des observation de rang \(\frac{n}{2}\) et \(\frac{n}{2} + 1\).
# Calcul de l'âge des enquếtés
age <- 2016 - cpes$ne.annee
# Visualiser la répartition des âges
hist(age, breaks = 16:22)
Calcul de la médiane :
median(age)
[1] 19
La moyenne est la somme des valeurs d’une variable divisée par le nombre d’observations. On note \(\bar{x}\) la moyenne de la variable \(X\) comprenant \(n\) observations \(x_i\):
\(\bar{x} = \frac{1}{n} \sum\limits_{i=1}^n x_i\)
Elle ne s’applique qu’aux variables quantitatives.
mean(age)
[1] 18.875
En arrondissant deux chiffres après la virgule :
round(mean(age), 2)
[1] 18.88
La somme des écarts des valeurs à la moyenne est nulle. Soit \(\bar{x}\) la moyenne d’une variable x de valeur X.
\(\sum\limits_{i=1}^n (x_i - \bar{x}) = 0\)
# Vérification :
sum(age - mean(age))
[1] 0
La moyenne est très sensible à la présence de valeurs extrêmes.
# Vérification : imaginons qu'un étudiant du CPES a 80 ans
age.fake <- c(age, 80)
round(mean(age.fake), 2)
[1] 19.35
La dispersion statistique d’une distribution correspond à la tendance qu’ont les valeurs d’une variable à s’étaler autour d’une valeur centrale (moyenne, médiane, etc.). Cette tendance est inégale entre les variables.
L’étendue d’une variable quantitative est la différence entre sa valeur maximum et sa valeur minimale.
Étendue de X = \(X_{max} - X_{min}\)
max(age) - min(age)
[1] 4
Les quantiles sont les \(x - 1\) valeurs qui séparent les observations ordonnées d’une variable en x sous-ensembles de même effectif.
Exemple avec les quartiles :
summary(cpes$courses.prix)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
0.00 11.00 25.00 31.81 35.00 210.00 15
Ou encore :
quartiles <- quantile(cpes$courses.prix, na.rm = TRUE)
quartiles
0% 25% 50% 75% 100%
0 11 25 35 210
Les quantiles permettent de calculer deux types d’indicateurs de dispersion:
Intervalle interquartile :
quartiles[4] - quartiles[2]
75%
24
Rapport interquartile :
quartiles[4] / quartiles[2]
75%
3.181818
Représentation graphique des quartiles : les boîtes à moustaches
boxplot(cpes$courses.prix)
La boite à moustache (box and whisker plot ou boxplot) est un diagramme présentant plusieurs indicateurs de tendance centrale et de dispersion d’une variable quantitative. On y trouve en particulier :
La variance est égale à la moyenne des carrés des écarts à la moyenne. On la note \(\sigma^2\). Soit \(\sigma_x^2\) la variance de la variable x, comprenant n observations, et \(\bar(x)\) sa moyenne.
\(\sigma_x^2 = \frac{1}{n} * \sum\limits_{i=1}^n (X_i - \bar{x})^2\)
mean(cpes$courses.prix, na.rm = TRUE)
[1] 31.80566
var(cpes$courses.prix, na.rm = TRUE)
[1] 1156.537
L’écart-type est la racine carrée de la moyenne des carrés des écarts à la moyenne, c’est-à-dire la racine carrée de la variance. On le note \(\sigma\). Ainsi:
\(\sigma_x = \sqrt{\frac{1}{n} * \sum\limits_{i=1}^n (X_i - \bar{x})^2} = \sqrt{\sigma_x^2}\)
mean(cpes$courses.prix, na.rm = TRUE)
[1] 31.80566
sd(cpes$courses.prix, na.rm = TRUE)
[1] 34.00789
Comprendre graphiquement l’écart-type :
plot(cpes$courses.prix)
abline(b = 0, a = mean(cpes$courses.prix, na.rm = TRUE), col = "red")