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

Aggiungi un commento

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