Exploratory アワー #545 - 全角文字のうち、英数字のみを半角文字に置換したい

Exploratoryで、テキストデータ内の全角英数字のみを半角に変換する方法を説明します。通常の文字標準化では記号も含めて全て半角に変換されてしまうため、英数字のみを選択的に変換する手法が必要となります。

問題

解決方法

全角の英数字のみを半角に置き換える方法をご紹介します。

全角の英数字に加えて全角の記号などもまとめて整えたい場合は、こちらのノートをご覧ください。

事前準備として全角と半角の対応表のデータをインポートします。

データフレームのプラスボタンから「データ・カタログ」を選択します。

検索ボックスに「全角」と検索すると、「全角・半角英数字対応表」というデータが公開されているので、「インポートボタン」をクリックします。

データカタログのデータのインポートダイアログが表示されるため、「保存」ボタンをクリックします。

image

image

データフレーム名に「全角・半角英数字」と指定して作成します。

もしExploratoryをオフライン状態で使用されている場合は、こちらを開き、データカタログ上からCSV形式でダウンロードしてExploratoryデスクトップにインポートしてください。

全角・半角英数字の対応表のデータフレームがインポートできました。

全角の英数字を半角に置き換えたい列があるデータフレームを開き、列ヘッダメニューから「計算を作成」の「標準」を選択します。

計算エディタには下記を入力します。

chartr(str_c(全半角英数字$全角英数字, collapse = ""), str_c(全半角英数字$半角英数字, collapse = ""), Text)

このchartr関数は1つ目の引数である古い文字を2つ目の引数にある新しい文字に置き換えるという関数です。

1つ目と2つ目の引数にはデータフレームの列を参照したいたため、下記のように入力する必要があります。

<dataframe_name>$<column_name>

上記の例では全半角英数字のデータフレームにある全角という列名を参照したいため、全半角英数字$全角英数字 と入力します。

列を参照する際にstr_cでcollapseを利用することで、列にある値をまとめることができます。

最後の引数には置き換えたい文字がある列名を指定することになり、ここでは「Text」の列を指定しています。

全角の英数字のみを半角に置き換えることができているのが確認できます。

ビデオ

参考情報

Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio