R で str_match を使用する方法 (例あり)


R のstringrパッケージのstr_match()関数を使用して、文字列から一致するグループを抽出できます。

この関数は次の構文を使用します。

str_match(文字列, パターン)

金:

  • string:文字ベクトル
  • モデル:検索するモデル

次の例は、この関数を実際に使用する方法を示しています。

例 1: Vector で str_match を使用する

次のコードは、 str_match()関数を使用して文字ベクトルから一致するパターンを抽出する方法を示しています。

 library (stringr)

#create vector of strings
x <- c('Mavs', 'Cavs', 'Heat', 'Thunder', 'Blazers')

#extract strings that contain 'avs'
str_match(x, pattern=' avs ')

     [,1] 
[1,] “avs”
[2,] “avs”
[3,] NA   
[4,] NA   
[5,] NA  

結果は、各行に一致するパターン、またはパターンが見つからなかった場合はNA値を表示する行列になります。

例えば:

  • 最初の要素「Mavs」でパターン「avs」が見つかったので、「avs」が返されました。
  • パターン「avs」が 2 番目の要素「Cavs」で見つかったので、「avs」が返されました。
  • パターン「avs」が 3 番目の要素「Heat」に見つからなかったため、NA が返されました。

等々。

例 2: データ フレームで str_match を使用する

R に次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (team=c('Mavs', 'Cavs', 'Heat', 'Thunder', 'Blazers'),
                 points=c(99, 104, 110, 103, 115))

#view data frame
df

     team points
1 Mavs 99
2 Cavs 104
3 Heat 110
4 Thunder 103
5 Blazers 115

次のコードは、 str_match()関数を使用して、各チーム名の一致パターンが含まれる場合と含まれない場合がある新しい列をデータ フレームに追加する方法を示しています。

 library (stringr)

#create new column
df$match <- str_match(df$team, pattern=' avs ')

#view updated data frame
df

     team points match
1 Mavs 99 avs
2 Cavs 104 avs
3 Heat 110 <NA>
4 Thunder 103 <NA>
5 Blazers 115 <NA>

matchというラベルの新しい列には、テンプレートがチーム列にあるかどうかに応じて、「avs」または NA テンプレートが含まれます。

追加リソース

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

R で str_replace を使用する方法
R で str_split を使用する方法
R で str_detect を使用する方法
R で str_count を使用する方法
R で str_pad を使用する方法

コメントを追加する

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