下記のスクリーンショットのように、一つの列に日本語や英語、数値のデータが入ってるとします。
また、数値の小数点は大文字になってしまっている状態です。
これらのデータをそれぞれ日本語や英語、数値の列に分けたいです。
ステップとしては、
- 文字列の標準化
- 数値を取り出す
- 英語を取りだす
- 数値列と英語列を元に、日本語を取り出す
となります。
まずはじめに、数値のデータの中にある小数点が大文字になっているため、この列を標準化します。
列ヘッダメニューを開き、「テキストを操作」から「文字列を標準化」を選びます。
ダイアログが表示されるので、そのまま実行します。
小数点が大文字になっていましたが、半角にすることができました。
次に、数値データを新しい列に取り出していきます。
列ヘッダメニューを開き、「データタイプを変換」から「Numeric(数値)タイプ」に変換を選びます。
ダイアログが表示されるので、新しく列を作成にチェックをして、列名を入力して実行します。
数値だけを取り出すことができました。
次に、英語を取り出していきます。
列ヘッダメニューを開き、「テキストを操作」から「ある文字列を取り出す」を選びます。
新しく列を作成にチェックをし、列名を入力します。
次に、計算エディタに下記のコードを入力します。
str_extract(Original_column, "[A-Za-z]+")
変える部分としては"[A-Za-z]+"
を入力するだけです。
この"[A-Za-z]+"
はaからzまでのアルファベットという意味です。
英語の文字列を取り出すことができました。
最後に、日本語の文字列のみにしていきます。
列ヘッダメニューを開き、「テキストを操作」から「ある文字列を取り除く」を選びます。
同様に新しい列にチェックをして列名を入力します。
次に、取り除きたい文字列として
str_c(english_column, numeric_column)
を指定します。
これは先ほど作成した列を指定することで、元の列から英語と数値を取り除くといった処理になります。
長くなりましたが、一つの列に日本語や英語、数値のデータが入っていたものをそれぞれの列に分けることができました。