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 で他の一般的なタスクを実行する方法について説明します。