Comment superposer des tracés de densité dans ggplot2 (avec exemples)



Un tracé de densité est un moyen utile de visualiser la distribution des valeurs dans un ensemble de données.

Souvent, vous souhaiterez peut-être visualiser les tracés de densité de plusieurs variables à la fois. Heureusement, cela est facile à faire en utilisant le package de visualisation de données ggplot2 dans R avec la syntaxe suivante :

ggplot(data, aes(x=value, fill=variable)) +
  geom_density(alpha=.25)

L’argument alpha contrôle l’opacité de chaque tracé de densité. Il est important de définir cette valeur en dessous de 1 afin que vous puissiez voir chaque tracé de densité lorsqu’ils se superposent.

L’exemple suivant étape par étape montre comment utiliser cette syntaxe dans la pratique.

Étape 1 : Créer les données

Tout d’abord, créons un faux ensemble de données avec trois variables :

#make this example reproducible
set.seed(1)

#create data
df <- data.frame(var1=rnorm(1000, mean=0, sd=1),
                 var2=rnorm(1000, mean=0, sd=3),
                 var3=rnorm(1000, mean=3, sd=2))

#view first six rows of data
head(df)

        var1       var2       var3
1 -0.6264538  3.4048953  1.2277008
2  0.1836433  3.3357955 -0.8445098
3 -0.8356286 -2.6123329  6.2394015
4  1.5952808  0.6321948  4.0385398
5  0.3295078  0.2081869  2.8883001
6 -0.8204684 -4.9879466  4.3928352

Étape 2 : Convertir les données de large en long

Ensuite, nous devons convertir les données d’un format large en un format long pour les rendre compatibles avec ggplot2 :

library(reshape)

#convert from wide format to long format
data <- melt(df)

#view first six rows
head(data)

  variable      value
1     var1 -0.6264538
2     var1  0.1836433
3     var1 -0.8356286
4     var1  1.5952808
5     var1  0.3295078
6     var1 -0.8204684

Étape 3 : Créer les tracés de densité superposés

Enfin, nous pouvons créer les tracés de densité superposés :

library(ggplot2)

#create overlaying density plots
ggplot(data, aes(x=value, fill=variable)) +
  geom_density(alpha=.25)

Superposition de tracés de densité dans ggplot2

N’hésitez pas à ajuster la valeur alpha pour rendre les tracés de densité plus ou moins transparents.

Par exemple, voici à quoi ressembleraient les tracés si nous augmentions la valeur alpha :

library(ggplot2)

#create overlaying density plots
ggplot(data, aes(x=value, fill=variable)) +
  geom_density(alpha=.7)

Ressources additionnelles

Comment créer un diagramme de Gantt dans R à l’aide de ggplot2
Comment créer un boxplot groupé dans R à l’aide de ggplot2
Comment créer des tracés côte à côte dans R à l’aide de ggplot2

Ajouter un commentaire

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