R の文字列から数値を抽出する方法 (例あり)


次のメソッドを使用して、R の文字列から数値を抽出できます。

方法 1: 基数 R を使用して文字列番号を抽出する

 as. numeric (gsub(" \\D ", "", df$my_column))

方法 2: readr パッケージを使用して文字列番号を抽出する

 library (readr)

parse_number(df$my_column)

このチュートリアルでは、次のデータ フレームを使用して各メソッドを実際に使用する方法を説明します。

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 position=c('Guard23', 'Guard14', '2Forward',
                            'Guard25', '6Forward', 'Center99'))

#view data frame
df

  team position
1A Guard23
2A Guard14
3 A 2Forward
4 B Guard25
5 B 6Forward
6 B Center99

例 1: 基数 R を使用して文字列から数値を抽出する

次のコードは、データ フレームの位置列の各文字列から数値を抽出する方法を示しています。

 #extract number from each string in 'position' column
as. numeric (gsub(" \\D ", "", df$position))

[1] 23 14 2 25 6 99

数値は位置列の各文字列から抽出されたものであることに注意してください。

: gsub()関数は、文字列内の数値以外のすべて ( \\D ) を空のスペースに置き換えるだけです。これには、文字列から数値のみを抽出する効果があります。

必要に応じて、これらの数値をデータ フレームの新しい列に保存することもできます。

 #create new column that contains numbers from each string in 'position' column
df$num <- as. numeric (gsub(" \\D ", "", df$position))

#view updated data frame
df

  team position number
1A Guard23 23
2A Guard14 14
3 A 2Forward 2
4 B Guard25 25
5 B 6Forward 6
6 B Center99 99

例 2: Reader パッケージを使用して文字列から数値を抽出する

次のコードは、 readrパッケージのparse_number()関数を使用して、データ フレームの位置列の各文字列から数値を抽出する方法を示しています。

 library (readr)

#extract number from each string in 'position' column
parse_number(df$position)

[1] 23 14 2 25 6 99

数値は位置列の各文字列から抽出されたものであることに注意してください。

これは、ベース R でgsub()関数を使用した結果に対応します。

追加リソース

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

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

コメントを追加する

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