R: estrae la sottostringa dalla fine della stringa


È possibile utilizzare i seguenti metodi per estrarre una sottostringa in R a partire dalla fine della stringa:

Metodo 1: utilizzare Base R

 #define function to extract n characters starting from end
substr_end <- function (x, n){
  substr(x, nchar(x)-n+ 1 , nchar(x))
}

#extract 3 characters starting from end
substr_end(my_string, 3 )

Metodo 2: utilizzare il pacchetto stringr

 library (stringr)

#extract 3 characters starting from end 
str_sub(my_string, start = - 3 )

Questi due esempi estraggono gli ultimi tre caratteri dalla stringa chiamata my_string .

I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente frame di dati:

 #create data frame
df <- data. frame (team=c('Mavericks', 'Lakers', 'Hawks', 'Nets', 'Warriors'),
                 dots=c(100, 143, 129, 113, 123))

#view data frame
df

       team points
1 Mavericks 100
2 Lakers 143
3 Hawks 129
4 Nets 113
5 Warriors 123

Esempio 1: estrai la sottostringa dall’estremità utilizzando Base R

Il codice seguente mostra come definire una funzione personalizzata in base R e quindi utilizzare la funzione per estrarre gli ultimi tre caratteri da ciascuna stringa nella colonna del team :

 #define function to extract n characters starting from end
substr_end <- function (x, n){
  substr(x, nchar(x)-n+ 1 , nchar(x))
}

#create new column that extracts last 3 characters from team column
df$team_last3 <- substr_end(my_string, 3 )

#view updated data frame
df

       team points team_last3
1 Mavericks 100 cks
2 Lakers 143ers
3 Hawks 129 wks
4 Nets 113 ets
5 Warriors 123 gold

Si noti che la nuova colonna chiamata team_last3 contiene gli ultimi tre caratteri di ciascuna stringa nella colonna team del data frame.

Esempio 2: estrarre la sottostringa dalla fine utilizzando il pacchetto stringr

Il codice seguente mostra come utilizzare la funzione str_sub() dal pacchetto stringr in R per estrarre gli ultimi tre caratteri da ciascuna stringa nella colonna team :

 library (stringr)

#create new column that extracts last 3 characters from team column
df$team_last3 <- str_sub(df$team, start = - 3 )

#view updated data frame
df

       team points team_last3
1 Mavericks 100 cks
2 Lakers 143ers
3 Hawks 129 wks
4 Nets 113 ets
5 Warriors 123 gold

Si noti che la nuova colonna chiamata team_last3 contiene gli ultimi tre caratteri di ciascuna stringa nella colonna team del data frame.

Ciò corrisponde ai risultati del metodo precedente utilizzando la base R.

Correlati : un’introduzione alla funzione str_sub in R

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come selezionare colonne contenenti una stringa specifica in R
Come rimuovere caratteri da una stringa in R
Come trovare la posizione del carattere in una stringa in R

Aggiungi un commento

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