Articles

Creare istogrammi usando R

Quando si esplora un set di dati, spesso si vuole ottenere una rapida comprensione della distribuzione di alcune variabili numeriche al suo interno. Un modo comune di visualizzare la distribuzione di una singola variabile numerica è usando un istogramma. Un istogramma divide i valori all’interno di una variabile numerica in “bins”, e conta il numero di osservazioni che rientrano in ogni bin. Visualizzando questi conteggi a colonne, possiamo ottenere un senso molto immediato e intuitivo della distribuzione dei valori all’interno di una variabile.

Questa ricetta vi mostrerà come creare un istogramma usando R. In particolare, userete la funzione hist() di R e ggplot2.

Nel nostro esempio, visualizzerete la distribuzione della durata della sessione per un sito web. I passi di questa ricetta sono divisi nelle seguenti sezioni:

  1. Data Wrangling
  2. Data Exploration & Preparation
  3. Data Visualization

Si possono trovare le implementazioni di tutti i passi descritti di seguito in questo esempio di report Mode. Iniziamo.

Data Wrangling

Utilizzerete SQL per estrarre i dati di cui avrete bisogno per la nostra analisi. Per questo esempio, userai il set di dati sessions disponibile nel Data Warehouse pubblico di Mode. Utilizzando il browser dello schema all’interno dell’editor, assicuratevi che la vostra fonte di dati sia impostata su quella del Public Warehouse di Mode ed eseguite la seguente query per estrarre i vostri dati:

`select *from modeanalytics.sessions`

Una volta che la query SQL ha completato l’esecuzione, rinominate la vostra query SQL in Sessions in modo da poterla identificare facilmente all’interno del notebook R.

Esplorazione dei dati & Preparazione

Ora che avete i vostri dati sistemati, siete pronti a spostarvi nel notebook di R per preparare i vostri dati per la visualizzazione. Il Mode esegue automaticamente il pipe dei risultati delle vostre query SQL in un dataframe R assegnato alla variabile datasets. Potete usare la seguente linea di R per accedere ai risultati della vostra query SQL come dataframe e assegnarli ad una nuova variabile:

`sessions <- datasets]`

Visualizzazione dei dati

Per creare un istogramma, useremo la funzione hist() di R. Poiché siete interessati solo a visualizzare la distribuzione della variabile session_duration_seconds, passerete il nome della colonna alla funzione hist() per limitare l’output della visualizzazione alla variabile di interesse:

`# Using hist() function in base graphics to make a histogramhistinfo=hist(sessions$session_duration_seconds, main="Histogram with Default Parameters")`

R Histogram Default

È possibile personalizzare ulteriormente l’aspetto dell’istogramma fornendo alla funzione hist() parametri aggiuntivi:

`hist(sessions$session_duration_seconds, main="Adding grid lines and ticks", xlab="Session Duration (in seconds)", ylab= "Count", xlim=c(0,55), ylim=c(0, 49000), col="lightgrey")axis(4, labels=FALSE, col = "lightgrey", lty=2, tck=1)`

R Histogram Styled

È anche possibile utilizzare la funzionalità nativa di creazione di istogrammi di ggplot2 per creare e stilizzare gli istogrammi in R con caratteristiche aggiuntive come la stima della densità del kernel:

`p <- ggplot(sessions, aes(x=session_duration_seconds)) + geom_histogram(aes(y=..density..), # Histogram with density instead of count on y-axis binwidth=2, colour="black", fill="white") + geom_density(alpha=.3, fill="#32CD32")p + labs(x = "Session Duration (in seconds)", y = "Density", title = "Density Curve using ggplot2") + coord_fixed(ratio = 100)ggsave("ggtest.png", p, width = 5, height = 8, dpi = 1200)`

ggplot2 Histogram Styled

Lascia una risposta

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