R: 文字列の末尾から部分文字列を抽出します


次のメソッドを使用して、文字列の末尾から始まる R の部分文字列を抽出できます。

方法 1: 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 )

方法 2: stringr パッケージを使用する

 library (stringr)

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

これら 2 つの例では、 my_stringという文字列から最後の 3 文字を抽出します。

次の例は、次のデータ フレームで各メソッドを実際に使用する方法を示しています。

 #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

例 1: Base R を使用して末尾から部分文字列を抽出する

次のコードは、ベース R でカスタム関数を定義し、その関数を使用してチーム列の各文字列から最後の 3 文字を抽出する方法を示しています。

 #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

team_last3という新しい列には、データ フレームのチーム列の各文字列の最後の 3 文字が含まれることに注意してください。

例 2: stringr パッケージを使用して末尾から部分文字列を抽出する

次のコードは、R のstringrパッケージのstr_sub()関数を使用して、チーム列の各文字列から最後の 3 文字を抽出する方法を示しています。

 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

team_last3という新しい列には、データ フレームのチーム列の各文字列の最後の 3 文字が含まれることに注意してください。

これは、R 基底を使用した前の方法の結果に対応します。

関連: R の str_sub 関数の概要

追加リソース

次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。

Rで特定の文字列を含む列を選択する方法
R の文字列から文字を削除する方法
Rで文字列内の文字の位置を見つける方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です