このノートでは条件をもとに値を置き換える方法を紹介します。
例えば以下のように1行1つの民泊の物件を表すデータがあったとします。
このデータを使って、1泊あたり宿泊費をもとに、以下のようにそれぞれの物件にラベル(ランク)を付けたかったとします。
そういったときには、任意の列ヘッダーメニューから「計算を作成」の「条件付き」を選択します。
すると以下のように「条件を設定して置換」のダイアログが開きます。
条件を設定するときには、条件の「+」アイコンをクリックします。
すると条件を指定するためのダイアログが開きます。
まずはハイクラスの物件を指定する条件を指定するために、列に「一泊の価格」、演算子に「以上」、値に「20000」と入力しOKボタンをクリックします。
すると、一泊の価格が20,000円以上という条件が指定されます。
この条件に対して、新しい値として「ハイクラス」というカテゴリーを新たに指定したいので、新しい値に「文字(カテゴリー)」を選択し、「ハイクラス」と入力します。
なお、もし新しい値に特定の列の値を返したいときには「列」、欠損値を返したいときには「欠損値」、指定した計算結果を返したいときには「計算」を選択します。
これで、ハイクラスのラベルを付けるための条件と新しい値を指定できました。
続いて、ミドルクラスのラベルを付けるための条件を追加するために、条件の追加ボタンをクリックします。
すると、新しい条件を追加するためのダイアログが表示されるので、ミドルクラスの物件の条件を指定します。
2つ目の条件を追加できたら先程と同様に新しい値に「ミドルクラス」を指定します。
このとき、条件を指定して置換は、それまでの条件(上位の条件)が満たされない場合にのみ適用されるので、一泊の価格が2万円以上でハイクラスではない、一泊の価格が1万円以上の物件に対してのみ新しい値が指定されることになります。
ハイクラス、ミドルクラス以外の物件は全て「ロークラス」となります。そういったときには1万円より小さいといった条件を指定する必要なく、「デフォルト」値を使って、条件に該当しない行に対して返す値を指定できます。
今回、デフォルトには文字列である「ロークラス」を設定したいので、新しい値に「文字」を指定して「ロークラス」とタイプします。
これで全ての条件を作ることができました。今回は新しい値の列として作成したいので、新しく列を作成にチェックを付けて、任意の列名を指定して実行します。
これで、指定して条件をもとに一泊の価格を置き換えた新しい列を作成できました。
新しい値のデータ型が「自動検出」で値に文字が含まれる時や「Character(文字列型)」を明示的に指定した場合は、作成された列のデータタイプは「Character型」になります。
もし作成した新しい値に順序関係がある場合は、データ型を「Factor(順序付き文字列)」にすることで、チャートなどで可視化した時に順序を保って表示することができます。
順序をつける際には、「上から下」または「下から上」を選ぶことができます。上記の例では、上から下を指定しているため「ハイクラス」、「ミドルクラス」、「ロークラス」の順で順序がつくようになります。
作成された列を見てもFactor(順序付き文字列)になっており、「ハイクラス」、「ミドルクラス」、「ロークラス」の順で順序がつけられていることがわかります。