例えば、下記のように2つのデータフレームがあって、Countryをキーにして結合したいとします。
ただ、データフレーム:AではJapanになっていますが、データフレーム:BではJapaneseとなっています。
データフレームBでは、国ではなく言語が混ざっていたりと、結合キーに表記揺れがあります。
表記揺れがあっても結合したい時には、fuzzyjoinというパッケージが使えます。
今回はその中でも、 文字列距離で結合ができる、stringdist_*_join
という関数を使います。
*の中にはleftやinnerなどの結合のタイプを指定できます。
fuzzyjoin
には他にも、たくさんの関数があるので、興味がある方はこちらのページをご覧ください。
さて、Exploraotryでfuzzyjoin
を使うためには、パッケージをインストールする必要があります。
プロジェクトメニューからRパッケージの管理を選択します。
パッケージをインストールのCRANに"fuzzyjoin"と入力してインストールボタンをクリックします。
インストール済みパッケージのfuzzyjoinにチェックがついていたら使用できます。
結合したいデータフレームのステップメニューからカスタムRコマンドを選択します。
stringdist_*_joinのシンタックスは下記のようになっています。
stringdist_left_join(<結合先データフレーム名>, by = c(<結合元キー列名> = "<結合先キー列名>"), max_dist = <許容する距離>)
今回の場合は、カスタムRコマンドに下記のように記述しています。
stringdist_left_join(fuzzyjoin_test_1, by = c(Country = "Country"),max_dist = 4)
実行すると、JapanとChina、United Statesには表記揺れがありましたが、結合されていることが確認できます。