数値を等幅でグループに分ける方法

こちらのノートでは数値を等幅でグループに分ける方法を紹介いたします。

等幅とは、同じ幅や間隔で区切ることを意味しています。例えば、以下は従業員ごとの給料の分布を表した図です。

等幅で5段階に分ける場合、同じ幅で5つのグループに分けることになりますので、以下のようなグループに分けられます。

今回は一行が一人の従業員を表していて、列には従業員の属性情報が持つようなデータの給料の列に注目をして、給料を5つのグループで等幅に分けていきます。

まず、給料列の情報アイコンをクリックして、サマリーの情報を確認すると、給料の最小値が1900、それから最大値が19,999であることが確認でき、給料の最小値から最大値を等幅で、10等分にした頻度(人数)のバーが表示されていますが、この一本一本のバーの区間が1つのグループになるように数値を等幅でグループに分けていきます。

数値を等幅でグループに分けるために、「給料」の列ヘッダーメニューを選択して、「カテゴリーを作成」を選択します。

「カテゴリーを作成」のダイアログが開いたら、カテゴリーのタイプに「等幅」を選択します。

カテゴリーの数はデフォルトで10になっています。

カテゴリーを分ける際には、いくつかの設定がサポートされており、それぞれのメニューの内容は以下となります。

  • ラベル: 作成したカテゴリーに、どういったラベルをつけるのかを指定できます。
  • 範囲の下限: 数値をグループに分けるときに、どこからその処理を行うのかを指定します
  • 範囲の上限: 数値をグループに分けるときに、どこまでその処理を行うのかを指定します
  • 範囲の端の扱い: 等幅でグループを分けるときに、範囲の端をどちらのグループに含む形にするのかを指定できます。
  • 範囲外の値: 範囲の下限・上限で指定した値の外にある値をグループとして残すのか、あるいは取り除くのかを指定できます

今回はこのままデフォルトの設定で問題ないので、実行ボタンをクリックします。

これにより、給料を等幅で10個のグループに分けた列を追加できました。

数値を等幅で10個のグループに分ける方法(Rコード)

従業員データの場合

今回の従業員データを使って、カスタムRコマンドで従業員の給料を等幅で10個のグループに分けたい場合、以下のRコードのサンプルをご参考ください。

数値を等幅でグループに分ける方法方法(Rコード)

#従業員の給料を等幅で10個のグループに分ける

mutate(`給料_category` = format_cut_output(exp_cut(給料, breaks = 10, lower.range = NA, upper.range = NA, right = FALSE, include.outside.range = TRUE, dig.lab = 20), right = FALSE, decimal.digits = 2), .after = ifelse("給料" %in% names(.), "給料", last_col()))
Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio