Chapitre 4 Une variable qualitative

Les données qualitatives peuvent faire l’objet de dénombrement, en effectif ou en proportion.

Petit rappel : cours en ligne et liens avec Excel.

Pour décrire une variable qualitative, on calcule :

  • Le nombre d’occurrence de chacune des modalités dans la base (ex : le nombre de communes de chaque type ZAU) : \(N_i\)\(i \in \{1 ... k\}\) représente l’ensemble des modalités

  • La proportion (ou fréquence) de chacune des modalités : \(f_i = \frac{N_i}{N}\)

On peut calculer des effectifs pondérés (exemple : la population des communes de chaque type ZAU). Dans ce cas \(N_i = \sum_c w_i\cdot \mathbb{I}_{c = i}\) et \(N = \sum_c w_i\), où c est l’ensemble des communes.

Pour un premier coup d’oeil à une variable qualitative, on peut utiliser la fonction générique summary().

##    ZAU                                                      
##  112 - Couronne d'un grand p\xf4le                  :12297  
##  400 - Commune isol\xe9e hors influence des p\xf4les: 7383  
##  300 - Autre commune multipolaris\xe9e              : 7021  
##  120 - Multipolaris\xe9e des grandes aires urbaines : 3962  
##  111 - Grand p\xf4le (plus de 10 000 emplois)       : 3285  
##  221 - Petit p\xf4le (de 1 500 \xe0 5 000 emplois)  :  888  
##  (Other)                                            : 1853

4.1 Tableaux de synthèse

4.1.1 Comptage

On cherche le nombre d’occurence de chacune des modalités. Cela s’effectue grâce à la fonction table().

## .
##        111 - Grand p\xf4le (plus de 10 000 emplois) 
##                                                3285 
##                   112 - Couronne d'un grand p\xf4le 
##                                               12297 
##  120 - Multipolaris\xe9e des grandes aires urbaines 
##                                                3962 
##     211 - Moyen p\xf4le (5 000 \xe0 10 000 emplois) 
##                                                 456 
##                   212 - Couronne d'un moyen p\xf4le 
##                                                 815 
##   221 - Petit p\xf4le (de 1 500 \xe0 5 000 emplois) 
##                                                 888 
##                   222 - Couronne d'un petit p\xf4le 
##                                                 582 
##               300 - Autre commune multipolaris\xe9e 
##                                                7021 
## 400 - Commune isol\xe9e hors influence des p\xf4les 
##                                                7383

La fonction DT::datatable() permet une mise en forme moins austère des dataframes.

4.1.2 Comptage pondéré

On ne cherche plus à afficher le nombre d’occurence de chaque modalités, mais à connaître le poids d’une variable sur ces modalités. Il s’obtient avec la fonction xtabs(). Par exemple, si on veut connaître la population pour chaque ZAU :

4.1.3 Fréquences

On souhaite maintenant connaître le pourcentage de communes que représente chaque ZAU. Cela se fait grâce à la fonction table() suivi cette fois de prop.table(). Par exemple :

4.1.4 Fréquences pondérées

On souhaite finalement connaître le pourcentage de population que représente chaque ZAU. En respecant la même logique que précédemment : cela se fait grâce à la fonction xtabs() suivi de prop.table(). Par exemple :

4.2 Graphiques

4.2.1 Diagramme en barres (ou en bâtons)

On souhaite connaître le nombre de communes dans chaque ZAU. Grâce à notre base communale, on cherche donc le nombre de lignes pour chaque ZAU.

Ceci n’est pas un histogramme ! C’est un diagramme en barres. La lisibilité est compliqué en raison de l’ordre des facteurs. Grâce aux fonctions vues précédemment, on peut modifier cet ordre :

D’autres présentations sont possibles. Par exemple, avec les intitulés des modalités sur l’axe (obtenu grâce à coord_flip(), il n’y donc plus besoin de différencier par les couleurs, ni de la légende. La disposition en barres horizontales permet d’afficher ces intitulés longs.

4.2.2 Diagramme en secteurs

Cette forme est à éviter autant que possible car sa lecture est moins facile que celle des diagrammes en barres. Elle s’obtient grâce à coord_polar().