Come utilizzare la funzione spread in r (con esempi)
La funzione spread() nel pacchetto Tidyr può essere utilizzata per “diffondere” una coppia chiave-valore su più colonne.
Questa funzione utilizza la seguente sintassi di base:
diffusione (dati, valore chiave)
Oro:
- data : nome del frame di dati
- chiave : colonna i cui valori diventeranno nomi di variabili
- valore : colonna in cui i valori verranno riempiti sotto le nuove variabili create dalla chiave
I seguenti esempi mostrano come utilizzare questa funzione nella pratica.
Esempio 1: distribuire i valori su due colonne
Supponiamo di avere il seguente frame di dati in R:
#create data frame df <- data. frame (player= rep (c(' A ', ' B '), each= 4 ), year= rep (c(1, 1, 2, 2), times= 2 ), stat= rep (c(' points ', ' assists '), times= 4 ), amount=c(14, 6, 18, 7, 22, 9, 38, 4)) #view data frame df player year stat amount 1 A 1 points 14 2 A 1 assists 6 3 A 2 points 18 4 A 2 assists 7 5 B 1 points 22 6 B 1 assists 9 7 B 2 points 38 8 B 2 assists 4
Possiamo utilizzare la funzione spread() per trasformare i valori della colonna stat nelle proprie colonne:
library (tidyr) #spread stat column across multiple columns spread(df, key=stat, value=amount) player year assists points 1 to 1 6 14 2 to 2 7 18 3 B 1 9 22 4 B 2 4 38
Esempio 2: distribuire i valori su più di due colonne
Supponiamo di avere il seguente frame di dati in R:
#create data frame df2 <- data. frame (player= rep (c(' A '), times= 8 ), year= rep (c(1, 2), each= 4 ), stat= rep (c(' points ', ' assists ', ' steals ', ' blocks '), times= 2 ), amount=c(14, 6, 2, 1, 29, 9, 3, 4)) #view data frame df2 player year stat amount 1 A 1 points 14 2 A 1 assists 6 3 A 1 steals 2 4 A 1 blocks 1 5 A 2 points 29 6 A 2 assists 9 7 A 2 steals 3 8 A 2 blocks 4
Possiamo utilizzare la funzione spread() per trasformare i quattro valori univoci nella colonna stat in quattro nuove colonne:
library (tidyr) #spread stat column across multiple columns spread(df2, key=stat, value=amount) player year assists blocks points steals 1 A 1 6 1 14 2 2 A 2 9 4 29 3
Risorse addizionali
L’obiettivo del pacchetto Tidyr è quello di creare dati “ordinati”, che abbiano le seguenti caratteristiche:
- Ogni colonna è una variabile.
- Ogni riga è un’osservazione.
- Ogni cella ha un valore univoco.
Il pacchetto Tidyr utilizza quattro funzioni principali per creare dati ordinati:
1. La funzione spread() .
2. La funzione raccogli() .
3. La funzione separate() .
4. La funzione unit() .
Se padroneggi queste quattro funzioni, sarai in grado di creare dati “ordinati” da qualsiasi frame di dati.