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


R のstringrパッケージのstr_split()関数を使用すると、文字列を複数の部分に分割できます。この関数は次の構文を使用します。

str_split(文字列, パターン)

金:

  • string:文字ベクトル
  • pattern:分割するパターン

同様に、stringr パッケージのstr_split_fixed()関数を使用して、文字列を固定数のチャンクに分割することができます。この関数は次の構文を使用します。

str_split_fixed(文字列、パターン、n)

金:

  • string:文字ベクトル
  • pattern:分割するパターン
  • n:返す個数

このチュートリアルでは、次のデータ フレームでこれらの各関数を使用する例を示します。

 #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

例 1: str_split() を使用して文字列を分割する

次のコードは、 str_split()関数を使用して「team」列の文字列を分割する方法を示しています。

 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”

結果は、各チームの個々のプレーヤーの名前を示す 3 つの項目のリストになります。

例 2: str_split_fixed() を使用して文字列を分割する

次のコードは、 str_split_fixed()関数を使用して、「team」列の文字列を 2 つの固定部分に分割する方法を示しています。

 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"

結果は、2 列 3 行の行列になります。

str_split_fixed()関数の便利な用途は、結果の行列をデータ フレームの末尾に追加することです。例えば:

 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

「V3」というラベルの付いた列には第 1 チームのプレーヤーの名前が表示され、「V4」というラベルが付いた列には第 2 チームのプレーヤーの名前が表示されます。

追加リソース

R で str_replace を使用する方法
Rで部分文字列マッチングを実行する方法
R で文字列を日付に変換する方法
Rで文字を数値に変換する方法

コメントを追加する

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