Comment créer un tracé Q-Q dans ggplot2 (avec exemple)



Un tracé QQ, abréviation de « quantile-quantile », est utilisé pour évaluer si un ensemble de données provient potentiellement d’une distribution théorique.

Dans la plupart des cas, ce type de tracé est utilisé pour déterminer si un ensemble de données suit ou non une distribution normale.

Si les données sont distribuées normalement, les points d’un tracé QQ se trouveront sur une ligne diagonale droite.

À l’inverse, si les points s’écartent considérablement de la ligne diagonale droite, il est alors moins probable que les données soient distribuées normalement.

Pour créer un tracé QQ dans ggplot2, vous pouvez utiliser les fonctions stat_qq() et stat_qq_line() comme suit :

library(ggplot2)

ggplot(df, aes(sample=y)) +
  stat_qq() + 
  stat_qq_line()

Les exemples suivants montrent comment utiliser cette syntaxe pour créer un tracé QQ dans deux scénarios différents.

Exemple 1 : tracé QQ pour des données normales

Le code suivant montre comment générer un ensemble de données normalement distribué avec 200 observations et créer un tracé QQ pour l’ensemble de données dans R :

library(ggplot2)

#make this example reproducible
set.seed(1)

#create some fake data that follows a normal distribution
df <- data.frame(y=rnorm(200))

#create Q-Q plot
ggplot(df, aes(sample=y)) +
  stat_qq() + 
  stat_qq_line()

Tracé QQ dans ggplot2

Nous pouvons voir que les points se situent principalement le long de la ligne diagonale droite avec quelques déviations mineures le long de chacune des queues.

Sur la base de ce graphique, nous supposerions que cet ensemble de données est normalement distribué.

Notez que nous pouvons également utiliser les arguments color et size pour modifier la couleur et la taille des points dans le tracé si nous le souhaitons :

library(ggplot2)

#make this example reproducible
set.seed(1)

#create some fake data that follows a normal distribution
df <- data.frame(y=rnorm(200))

#create Q-Q plot
ggplot(df, aes(sample=y)) +
  stat_qq(size=2.5, color='red') + 
  stat_qq_line()

Exemple 2 : tracé QQ pour des données non normales

Le code suivant montre comment créer un tracé QQ pour un ensemble de données qui suit une distribution exponentielle avec 200 observations :

#make this example reproducible
set.seed(1)

#create some fake data that follows an exponential distribution
df <- data.frame(y=rexp(200, rate=3))

#create Q-Q plot
ggplot(df, aes(sample=y)) +
  stat_qq() + 
  stat_qq_line()

On voit que les points s’écartent considérablement de la droite diagonale. Cela indique clairement que l’ensemble de données n’est pas normalement distribué.

Cela devrait avoir du sens étant donné que nous avons précisé que les données doivent suivre une distribution exponentielle.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans ggplot2 :

Comment tracer plusieurs lignes dans ggplot2
Comment tracer la moyenne et l’écart type dans ggplot2
Comment changer les couleurs des lignes dans ggplot2

Ajouter un commentaire

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