こちらはExploratoryデスクトップ v6.2から追加された「条件を設定して置換」のUIでの使い方の紹介になります。
計算を作成(Mutate)で使用できるcase_whenの使い方については、下記のノートをご覧ください。
まず初めに、条件を設定して置換の一般的な使用方法を2つ紹介します。
サンプルデータとして、ウェブサイトのアクセスデータを使用します。
このデータは、1行が1ユーザーとなっており、列にはアクセス回数を表す、Countという列があります。
まず初めに、ユーザーのアクセス回数の多さによって、ラベルづけしていきたいとします。
下記のアクセス回数(Count)の条件で、ラベルをつけていきたいです。
列ヘッダメニューから値を置き換えるを選び、条件を指定を選択します。
条件を設定して置換のダイアログが表示されました。
条件を作成していくため、選択項目をクリックします。
Countが100以上という条件を作りたいため、列にはCountを選び、演算子に以上を選択します。値には100を入力します。
Countが100以上という条件が作成されました。
条件にマッチした時の値を指定するため、新しい値をクリックします。
新しい値に文字列を指定したい場合、文字列をダブルクォート( " )で囲む必要があります。
そのため、“Heavy User”と入力します。
Countが100以上の時に”Heavy User”の値を返す条件が設定されました。
次に、Countが50以上の時に”Middle User”の値を返す条件を設定したいです。そのため、+(プラス)ボタンをクリックして条件を追加します。
新しく条件と新しい値を指定する項目が追加されました。
条件の新規追加をクリックして、Countが100以上という条件を作成していきます。列にはCountを選び、演算子に以上を選択します。値に50を入力します。
Countが50以上という条件が作成されました。
次に、新しい値をクリックし、“Middle User”と入力してOKボタンをクリックします。
Countが50以上の時に”Middle User”の値を返す条件が設定されました。
最後に、指定した条件にマッチしていない(Countが50より下)の人たちに、 “Light User”という値を返したいです。
それ以外の場合の新しい値をクリックします。
新しい値に “Light User”と入力してOKボタンをクリックします。
全ての条件と新しい値を指定することができました。
新しく列を作成にチェックをして任意の列名を入力します。
アクセス回数(Count)をもとに、ユーザーにラベルをつけることができました。
サマリ・ビューで確認してみると、ヘビーユーザーは199人、ミドルユーザーは193人いることがわかります。
Countの列を見てみると、アクセス回数が異常な値がいくつかあるようです。
そこで、アクセス回数が1000以上の場合、1000だったことにしたいとします。
下記の例では、useridがA101のアクセス回数は1200、A102のアクセス回数は3000のため、どちらのアクセス数も1000に置き換えたいです。
列ヘッダメニューから値を置き換えるを選び、条件を指定を選択します。
条件を設定して置換のダイアログが表示されました。
条件の新規追加をクリックして、Countが1000以上という条件を作成していきます。列にはCountを選び、演算子に以上を選択します。値には1000を入力します。
Countが1000以上という条件が作成されました。
次に、新しい値をクリックし、1000と入力してOKボタンをクリックします。
ちなみに、数値の場合は、ダブルクォートで囲む必要はありません!
Countが1000以上の時に数値の1000を返す条件が設定されました。
指定した条件にマッチしていない(Countが1000より下)の人たちは、列の値をそのまま返したいです。
それ以外の場合の新しい値をクリックします。
新しい値にCount(列名)を入力します。
全ての条件と新しい値を指定することができました。
新しく列を作成にチェックをして任意の列名を入力します。
実行すると、アクセス回数(Count)が1000以上の人たちの値を1000に置き換えることができました。
サマリ・ビューで確認してみても、アクセス回数の最大値が1000になっていることが確認できます。
先ほどまでは、一つの条件にマッチした時に値を置き換えていました。
例えば、Countが100以上の時に"Heavy User"のラベルをつけるといったことをしていたわけです。
しかし、複数の条件にマッチさせたいこともあります。
例えば、Countが100以上で且つosがmacosxといった条件を指定したい時があります。
下記の例では、useridがA103とA104はアクセス回数が100以上で、osもmacosxのため条件にマッチしていることになります。
それとも、countが100以上またはosがmacosxといった条件にしたいこともあるでしょう。
この場合は、どちらかの条件にマッチしていれば良いということになります。
下記の例では、useridがA101〜A104はアクセス回数が100以上、またはosがmacosxのどちらかにマッチしていることになります。
残念ながらA105だけが、Countが100以上またはosがmacosxという条件にマッチしていないようです。
A and Bの場合は & を、A or Bの場合は縦バー ( | ) を使うことで複数の条件を指定していくことができます。
今回は、アクセス回数が100以上且つosがmacのユーザーにラベルを付けたいとします。
列ヘッダメニューから値を置き換えるを選び、条件を指定を選択します。
条件を設定して置換のダイアログが表示されました。
条件式を入力してみるも、2つの条件を指定することができません。
そこで、カスタムという機能を使うと、自分で条件式を入力して作っていくことができます。
カスタムに下記の条件式を入力してOKボタンをクリックします。
Count >= 100 & os == "macosx"
Countが100以上で且つosがmacosxという条件を指定することができました。
新しい値に”mac Heavy User”と入力します。
Countが100以上で且つosがmacosxの時に”mac Heavy User”の値を返す条件が設定されました。
今回は、それ以外に返す値には”User”を入力します。
全ての条件と新しい値を指定することができました。
新しく列を作成にチェックをして任意の列名を入力します。
アクセス回数(Count)が100以上で且つosがmacosxの人にラベルをつけることができました。
サマリ・ビューで確認してみると、macのヘビーユーザーは107人いるようです。
今回は以上になります!
Exploratoryでは、他にもデータラングリング(加工)に関するノートがありますので、ぜひ有効活用してみて下さい。
まだExploratoryをお持ちでない方は、この機会にぜひ試してみて下さい!
こちらのページよりサインアップ(無料)した後、Exploratoryをダウンロードし始めることができます!
データサイエンスやデータ分析の手法を1から体系的に学び、現場で使えるレベルのスキルを身につけていただくためのトレーニングを定期的に開催しています。
データを使ってビジネスの問題を解決していくための、質問や仮説の構築の仕方などを含めたデータリテラシーも基礎から身につけていただくものとなっております。
ぜひこの機会に参加をご検討ください!