Come utilizzare str_split in r (con esempi)


La funzione str_split() del pacchetto stringr in R può essere utilizzata per dividere una stringa in più parti. Questa funzione utilizza la seguente sintassi:

str_split(stringa, modello)

Oro:

  • stringa: vettore di caratteri
  • modello: modello su cui dividere

Allo stesso modo, la funzione str_split_fixed() del pacchetto stringr può essere utilizzata per dividere una stringa in un numero fisso di blocchi. Questa funzione utilizza la seguente sintassi:

str_split_fixed(stringa, modello, n)

Oro:

  • stringa: vettore di caratteri
  • modello: modello su cui dividere
  • n: Numero di pezzi da restituire

Questo tutorial fornisce esempi di utilizzo di ciascuna di queste funzioni sul seguente frame di dati:

 #create data frame
df <- data. frame (team=c('andy & bob', 'carl & doug', 'eric & frank'),
                 dots=c(14, 17, 19))

#view data frame
df

          team points
1 andy & bob 14
2 carl & doug 17
3 eric & frank 19

Esempio 1: dividere una stringa utilizzando str_split()

Il codice seguente mostra come dividere la stringa nella colonna “team” utilizzando la funzione str_split() :

 library (stringr)

#split the string in the team column on " & "
str_split(df$team, " & ")

[[1]]
[1] “andy” “bob” 

[[2]]
[1] “carl” “doug”

[[3]]
[1] “eric” “frank”

Il risultato è un elenco di tre elementi che mostrano i nomi dei singoli giocatori di ciascuna squadra.

Esempio 2: dividere una stringa utilizzando str_split_fixed()

Il codice seguente mostra come dividere la stringa nella colonna “team” in due parti fisse utilizzando la funzione str_split_fixed() :

 library (stringr)

#split the string in the team column on " & "
str_split_fixed(df$team, " & ", 2)

     [,1] [,2]   
[1,] “andy” “bob”  
[2,] "carl" "doug" 
[3,] "eric" "frank"

Il risultato è una matrice con due colonne e tre righe.

Un’utile applicazione della funzione str_split_fixed() consiste nell’aggiungere la matrice risultante alla fine del frame di dati. Per esempio:

 library (stringr)

#split the string in the team column and append resulting matrix to data frame
df[, 3:4] <- str_split_fixed(df$team, " & ", 2)

#view data frame
df
          team points V3 V4
1 andy & bob 14 andy bob
2 carl & doug 17 carl doug
3 eric & frank 19 eric frank

La colonna denominata “V3” mostra il nome del giocatore della prima squadra e la colonna denominata “V4” mostra il nome del giocatore della seconda squadra.

Risorse addizionali

Come utilizzare str_replace in R
Come eseguire la corrispondenza parziale delle stringhe in R
Come convertire le stringhe in date in R
Come convertire un carattere in numerico in R

Aggiungi un commento

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