Exploratoryで、テキストデータ内の全角英数字のみを半角に変換する方法を説明します。通常の文字標準化では記号も含めて全て半角に変換されてしまうため、英数字のみを選択的に変換する手法が必要となります。
全角の英数字のみを半角に置き換える方法をご紹介します。
全角の英数字に加えて全角の記号などもまとめて整えたい場合は、こちらのノートをご覧ください。
事前準備として全角と半角の対応表のデータをインポートします。
データフレームのプラスボタンから「データ・カタログ」を選択します。
検索ボックスに「全角」と検索すると、「全角・半角英数字対応表」というデータが公開されているので、「インポートボタン」をクリックします。
データカタログのデータのインポートダイアログが表示されるため、「保存」ボタンをクリックします。
データフレーム名に「全角・半角英数字」と指定して作成します。
もしExploratoryをオフライン状態で使用されている場合は、こちらを開き、データカタログ上からCSV形式でダウンロードしてExploratoryデスクトップにインポートしてください。
全角・半角英数字の対応表のデータフレームがインポートできました。
全角の英数字を半角に置き換えたい列があるデータフレームを開き、列ヘッダメニューから「計算を作成」の「標準」を選択します。
計算エディタには下記を入力します。
chartr(str_c(全半角英数字$全角英数字, collapse = ""), str_c(全半角英数字$半角英数字, collapse = ""), Text)
このchartr
関数は1つ目の引数である古い文字を2つ目の引数にある新しい文字に置き換えるという関数です。
1つ目と2つ目の引数にはデータフレームの列を参照したいたため、下記のように入力する必要があります。
<dataframe_name>$<column_name>
上記の例では全半角英数字のデータフレームにある全角という列名を参照したいため、全半角英数字$全角英数字
と入力します。
列を参照する際にstr_cでcollapseを利用することで、列にある値をまとめることができます。
最後の引数には置き換えたい文字がある列名を指定することになり、ここでは「Text」の列を指定しています。
全角の英数字のみを半角に置き換えることができているのが確認できます。