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で文字を数値に変換する方法