Come sovrapporre i grafici di densità in ggplot2 (con esempi)


Un diagramma di densità è un modo utile per visualizzare la distribuzione dei valori in un set di dati.

Spesso potresti voler visualizzare i grafici della densità di più variabili contemporaneamente. Fortunatamente, questo è facile da fare utilizzando il pacchetto di visualizzazione dati ggplot2 in R con la seguente sintassi:

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

L’argomento alfa controlla l’opacità di ogni grafico di densità. È importante impostare questo valore sotto 1 in modo da poter vedere ciascun grafico della densità mentre si sovrappone.

Il seguente esempio passo passo mostra come utilizzare questa sintassi nella pratica.

Passaggio 1: creare i dati

Innanzitutto, creiamo un set di dati falso con tre variabili:

 #make this example reproducible
set. seeds (1)

#createdata
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

Passaggio 2: converti i dati da larghi a lunghi

Successivamente, dobbiamo convertire i dati da un formato ampio a un formato lungo per renderli compatibili con 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

Passaggio 3: creare i grafici di densità sovrapposti

Infine, possiamo creare i grafici di densità sovrapposti:

 library (ggplot2)

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

Grafici di densità sovrapposti in ggplot2

Sentiti libero di regolare il valore alfa per rendere i grafici della densità più o meno trasparenti.

Ad esempio, questo è come apparirebbero i grafici se aumentassimo il valore alfa:

 library (ggplot2)

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

Risorse addizionali

Come creare un diagramma di Gantt in R utilizzando ggplot2
Come creare un boxplot raggruppato in R utilizzando ggplot2
Come creare grafici affiancati in R utilizzando ggplot2

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *