Rでbinning
Rでbinningする方法。
色ー等級図を作るときなどに便利。
*binning -> 1セットのデータを、ある条件によって複数に分割すること。
たとえば、日本人の年収を調べたときに、各個人の年収額はばらばらだが、
年収100万未満、100万〜200万、…といった具合にグループに分割して
解析すると便利な場合が多々ある。これがbinningである。
- 数値データを用意する。
データフレームか行列で。 - グループに分割する際の条件を決める。
- データのどの項目を分割する際の判断対象とするか。
- グループに分割する際の、その項目の値の範囲。
(グループ1はV_1の値がx_1以上x_2以下、…)
- データフレーム内の各データがどのグループに属するかを判定。
cut 関数を用いる。
> f <- cut(data, breaks=c(data_min, group1_max, group2_max, ..., data_max+alpha)
ここで、data_maxに定数を加えているのは、デフォルトの設定では
group_max≦V<data_max
となり、最後のグループにdata_maxが含まれなくなってしまうため。
イコールのついた不等号を右側に持ってくるオプションも存在する。
(なんて名前だったっけ?)
group_max<V≦data_max
fには各行データがどのグループに属するかを因子が格納される。
設定した範囲内に含まれなかったデータは"NA"の因子が付けられる。 - データフレームを因子によって分割。
split 関数を用いる。
> bin_data <- split(data, f)
分割されたデータは、リストの形で格納される。
つまり、bin_data1にはグループ1、bin_data2にはグループ2に入れられた
行データが入っている。