R: extrai substring do final da string


Você pode usar os seguintes métodos para extrair uma substring em R começando no final da string:

Método 1: Use 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 )

Método 2: use o pacote stringr

 library (stringr)

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

Esses dois exemplos extraem os três últimos caracteres da string chamada my_string .

Os exemplos a seguir mostram como usar cada método na prática com o seguinte quadro de dados:

 #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

Exemplo 1: Extraia a substring do final usando Base R

O código a seguir mostra como definir uma função personalizada na base R e, em seguida, usar a função para extrair os três últimos caracteres de cada string na coluna da equipe :

 #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

Observe que a nova coluna chamada team_last3 contém os três últimos caracteres de cada string na coluna team do quadro de dados.

Exemplo 2: Extraia a substring do final usando o pacote stringr

O código a seguir mostra como usar a função str_sub() do pacote stringr em R para extrair os três últimos caracteres de cada string na coluna 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

Observe que a nova coluna chamada team_last3 contém os três últimos caracteres de cada string na coluna team do quadro de dados.

Isto corresponde aos resultados do método anterior utilizando a base R.

Relacionado : Uma introdução à função str_sub em R

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como selecionar colunas contendo uma string específica em R
Como remover caracteres de uma string em R
Como encontrar a localização dos caracteres em uma string em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *