Come utilizzare pivot_longer() in r
La funzione pivot_longer() del pacchetto Tidyr in R può essere utilizzata per ruotare un blocco di dati da un formato ampio a un formato lungo.
Questa funzione utilizza la seguente sintassi di base:
library (tidyr)
df %>% pivot_longer(cols=c(' var1 ', ' var2 ', ...),
names_to=' col1_name ',
values_to=' col2_name ')
Oro:
- cols : i nomi delle colonne da ruotare
- nomi_to : il nome della nuova colonna di caratteri
- valori_to : il nome della nuova colonna valori
L’esempio seguente mostra come utilizzare questa funzione nella pratica.
Correlato: Dati lunghi o ampi: qual è la differenza?
Esempio: utilizzare pivot_longer() in R
Supponiamo di avere il seguente frame di dati in R che mostra il numero di punti segnati da diversi giocatori di basket in diversi anni:
#create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D'),
year1=c(12, 15, 19, 19),
year2=c(22, 29, 18, 12))
#view data frame
df
player year1 year2
1 to 12 22
2 B 15 29
3 C 19 18
4 D 19 12
Possiamo usare la funzione pivot_longer() per ruotare questo frame di dati in un formato lungo:
library (tidyr)
#pivot the data frame into a long format
df %>% pivot_longer(cols=c(' year1 ', ' year2 '),
names_to=' year ',
values_to=' points ')
# A tibble: 8 x 3
player year points
1 A year1 12
2 A year2 22
3 B year1 15
4 B year2 29
5 C year1 19
6 C year2 18
7 D year1 19
8 D year2 12
Tieni presente che i nomi delle colonne anno1 e anno2 vengono ora utilizzati come valori in una nuova colonna denominata “anno” e i valori di queste colonne originali vengono inseriti in una nuova colonna denominata “punti”.
Il risultato finale è un lungo frame di dati.
Nota : puoi trovare la documentazione completa per la funzione pivot_longer() qui .
Risorse addizionali
I seguenti tutorial spiegano come utilizzare altre funzioni comuni del pacchetto Tidyr in R:
Come utilizzare pivot_wider() in R
Come utilizzare la funzione Spread in R
Come utilizzare la funzione di raccolta in R
Come utilizzare una funzione separata in R
Come utilizzare la funzione Unite in R