Come per tracciare un riepilogo dei dati in un ggplot2 in R

Una caratteristica molto conveniente di ggplot2 è la sua gamma di funzioni per riassumere i dati R nella trama. Questo significa che spesso non è necessario pre-riepilogare i dati. Ad esempio, l'altezza delle barre in un istogramma indica quante osservazioni di qualcosa che hai nei dati.

La rilevazione statistica per questo è di contare le osservazioni. Gli statistici si riferiscono a questo processo come binning, e la stat default per geom_bar () è stat_bin ().

Analogamente per il modo in cui ogni geom ha una stat default associato, ogni stat ha anche un geom default.

Quindi, si pone la domanda: come si fa a decidere se utilizzare un geom o una statistica? In teoria, non importa se si sceglie il geom o stat prima. In pratica, tuttavia, spesso è intuitivo per iniziare con un tipo di trama prima - in altre parole, specificare un geom. Se poi si desidera aggiungere un altro strato di rilevazione statistica, utilizzare un stat.

In questo grafico, è stato utilizzato gli stessi dati prima creare un grafico a dispersione con geom_point () e poi si è aggiunto una linea morbida con stat_smooth ().

Date un'occhiata ad alcuni esempi pratici di utilizzo di funzioni statistiche.

Stat Descrizione Predefinito Geom
stat_bin () Conta il numero di osservazioni in bidoni. geom_bar ()
stat_smooth () Crea una linea regolare. geom_line ()
stat_sum () Aggiunge valori. geom_point ()
stat_identity () Nessuna sintesi. Parcelle dati come è. geom_point ()
stat_boxplot () Riassume i dati per una trama box-and-soffio. geom_boxplot ()
Come bin dati in ggplot2

Hai già visto come usare stat_bin () per riassumere i dati in bidoni, perché questa è la stat di default di geom_bar (). Ciò significa che le seguenti due righe di codice producono grafici identici:

> Ggplot (terremoti, aes (x = profondità)) + geom_bar (binwidth = 50)
> Ggplot (terremoti, aes (x = profondità)) + stat_bin (binwidth = 50)

Come lisciare i dati R in ggplot2

Il pacchetto ggplot2 rende anche molto facile creare linee di regressione attraverso i vostri dati. È possibile utilizzare la funzione stat_smooth () per creare questo tipo di linea.

La cosa interessante di stat_smooth () è che fa uso di regressione locale per impostazione predefinita. R ha diverse funzioni che possono farlo, ma ggplot2 utilizza la funzione loess () per la regressione locale. Ciò significa che se si desidera creare un modello di regressione lineare dovete dire stat_smooth () per utilizzare una funzione liscia diverso. A tale scopo, con l'argomento metodo.

Per illustrare l'uso di un più agevole, inizio con la creazione di un grafico a dispersione della disoccupazione nel dataset Longley:

> ggplot (Longley, aes (x = Anno, y = Impiegato)) + geom_point ()

Avanti, aggiungere un più agevole. Questo è semplice come l'aggiunta di stat_smooth () alla riga di codice.

> ggplot (Longley, aes (x = Anno, y = occupati)) +
+ Geom_point () + stat_smooth ()

Infine, dire stat_smooth di utilizzare un modello di regressione lineare. A tale scopo, aggiungendo il metodo argomento = "lm".

Come per tracciare un riepilogo dei dati in un ggplot2 in R

> ggplot (Longley, aes (x = Anno, y = occupati)) +
+ Geom_point () + stat_smooth (method = "lm")

Come dire ggplot2 di lasciare i vostri dati unsummarized

A volte non si vuole ggplot2 di riassumere i dati nella trama. Questo di solito accade quando i dati sono già pre-riassunto o quando ogni riga della cornice dei dati deve essere tracciato separatamente. In questi casi, si vuole raccontare ggplot2 fare nulla, e la stat per fare questo è stat_identity ().