Come utilizzare la funzione split() in r per dividere i dati
La funzione split() in R può essere utilizzata per dividere i dati in gruppi in base ai livelli dei fattori.
Questa funzione utilizza la seguente sintassi di base:
dividere(x, f, …)
Oro:
- x : Nome del vettore o del blocco dati da dividere in gruppi
- f : Un fattore che definisce i raggruppamenti
Gli esempi seguenti mostrano come utilizzare questa funzione per dividere vettori e frame di dati in gruppi.
Esempio 1: utilizzare split() per dividere il vettore in gruppi
Il codice seguente mostra come dividere un vettore di valori di dati in gruppi in base a un vettore di livelli di fattore:
#create vector of data values data <- c(1, 2, 3, 4, 5, 6) #create vector of groupings groups <- c('A', 'B', 'B', 'B', 'C', 'C') #split vector of data values into groups split(x = data, f = groups) $A [1] 1 $B [1] 2 3 4 $C [1] 5 6
Il risultato sono tre gruppi.
Tieni presente che puoi anche utilizzare l’indicizzazione per recuperare gruppi specifici:
#split vector of data values into groups and only display second group
split(x = data, f = groups)[2]
$B
[1] 2 3 4
Esempio 2: utilizzare split() per dividere il frame di dati in gruppi
Supponiamo di avere il seguente frame di dati in R:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'), position=c('G', 'G', 'F', 'G', 'F', 'F'), points=c(33, 28, 31, 39, 34, 44), assists=c(30, 28, 24, 24, 28, 19)) #view data frame df team position points assists 1 GA 33 30 2 AG 28 28 3 AF 31 24 4 BG 39 24 5 BF 34 28 6 BF 44 19
Possiamo usare il seguente codice per dividere il frame di dati in gruppi in base alla variabile “team”:
#split data frame into groups based on 'team'
split(df, f = df$team)
$A
team position points assists
1 GA 33 30
2 AG 28 28
3 AF 31 24
$B
team position points assists
4 BG 39 24
5 BF 34 28
6 BF 44 19
Il risultato sono due gruppi. Il primo contiene solo le righe in cui “team” è uguale ad A e il secondo contiene solo le righe in cui “team” è uguale a B.
Tieni presente che possiamo anche dividere i dati in gruppi utilizzando più variabili fattore. Ad esempio, il codice seguente mostra come dividere i dati in gruppi in base alle variabili “team” e “position”:
#split data frame into groups based on 'team' and 'position' variables
split(df, f = list(df$team, df$position))
$AF
team position points assists
3 AF 31 24
$BF
team position points assists
5 BF 34 28
6 BF 44 19
$AG
team position points assists
1 GA 33 30
2 AG 28 28
$BG
team position points assists
4 BG 39 24
Il risultato sono quattro gruppi.
Risorse addizionali
I seguenti tutorial spiegano come utilizzare altre funzioni comuni in R:
Come utilizzare la funzione summary() in R
Come utilizzare la funzione replicate() in R
Come utilizzare la funzione match() in R