library(tidyverse)

Nous considérons les données salaires.tex.

Salaire <-  read.table('salaires.txt',header=TRUE)

Salaire <- Salaire %>% 
  mutate(sex = factor(sex, levels = c(0,1), labels = c("H","F")),
         minority = factor(minority,levels = c(0,1), labels = c("Non","Oui"))) 

summary(Salaire)
##      salary          salbegin        jobtime         prevexp      
##  Min.   : 15750   Min.   : 9000   Min.   :63.00   Min.   :  0.00  
##  1st Qu.: 24000   1st Qu.:12488   1st Qu.:72.00   1st Qu.: 19.25  
##  Median : 28875   Median :15000   Median :81.00   Median : 55.00  
##  Mean   : 34420   Mean   :17016   Mean   :81.11   Mean   : 95.86  
##  3rd Qu.: 36938   3rd Qu.:17490   3rd Qu.:90.00   3rd Qu.:138.75  
##  Max.   :135000   Max.   :79980   Max.   :98.00   Max.   :476.00  
##       educ       minority  sex    
##  Min.   : 8.00   Non:370   H:258  
##  1st Qu.:12.00   Oui:104   F:216  
##  Median :12.00                    
##  Mean   :13.49                    
##  3rd Qu.:15.00                    
##  Max.   :21.00

Variable qualitative

ggplot(Salaire, aes(x=sex))

ggplot(Salaire, aes(x=sex)) + geom_bar()

ggplot(Salaire,aes(x=sex,fill=sex))+geom_bar()

# Variable quantitative

ggplot(Salaire,aes(y=salary)) + geom_boxplot()

ggplot(Salaire, aes(x=salary)) +
  geom_density()

Variable Quantitative/Qualitative

ggplot(Salaire,aes(x=sex,salary)) + geom_point()

ggplot(Salaire,aes(x=sex,y=salary,color=sex)) + geom_boxplot()

ggplot(Salaire,aes(x=sex,y=salary,color=sex)) +
  geom_boxplot() + geom_point()

# juste pour visualiser
ggplot(Salaire,aes(x=sex,y=salary,color=sex)) +
  geom_boxplot() + geom_point(position="jitter",alpha=0.1)

Variable Quantitative/quantitative

ggplot(Salaire,aes(x=salbegin,y=salary)) + geom_point()

ggplot(Salaire,aes(x=salbegin,y=salary)) + geom_point() +
  geom_smooth(method="lm", se = FALSE)

ggplot(Salaire,aes(x=salbegin,y=salary, colour = sex)) + geom_point() 

ggplot(Salaire,aes(x=salbegin,y=salary)) + geom_point() +
  facet_wrap(~sex) + geom_smooth(method="lm", se=FALSE)

ggplot(Salaire,aes(x=salbegin,y=salary, colour = sex)) + 
  geom_point(position="jitter",alpha=0.2) + geom_smooth(method="lm",se=FALSE)

Le tableau ci-dessous donne quelques exemples de fonctions (accompagnés des aesthetics) permettant de faire les représentations graphiques classiques. Chaque geom admet également des arguments particuliers permettant de modifier le graphe (couleur, taille de points, épaisseur de traits, etc.).

Geom Description Aesthetics
geom_point() Nuage de points x, y, shape, fill
geom_line() Ligne (ordonnée selon x) x, y, linetype
geom_abline() Droite slope, intercept
geom_path() Ligne (ordre original) x, y, linetype
geom_text() Texte x, y, label, hjust, vjust
geom_rect() Rectangle xmin, xmax, ymin, ymax, fill, linetype
geom_polygon() Polygone x, y, fill, linetype
geom_segment() Segment x, y, fill, linetype
geom_bar() Diagramme en barres x, fill, linetype, weight
geom_histogram() Histogramme x, fill, linetype, weight
geom_boxplot() Boxplots x, y, fill, weight
geom_density() Densité x, y, fill, linetype
geom_contour() Lignes de contour x, y, fill, linetype
geom_smooth() Lissage x, y, fill, linetype
Tous color, size, group

Exercice : Installer le package esquisse. Puis taper la commande ci-dessous. A nous de jouer !

esquisse::esquisser()