plyrパッケージ

概要

  • ある指定した特徴量に応じてデータを分割(Split)
  • 分割したデータに対する関数の適用(Apply)
  • 分割したデータを再結合して(list, data.frame, arrayでの)結果の出力(Combine)
    という操作を一つの関数で実行することができる。

使い方

ddply

  • 月毎の行数
ddply(tokyo.2014,.(month),nrow)
   month V1
1     01 31
2     02 28
3     03 31
4     04 30
.      .  .
.      .  .
  • 月毎のA,B,C,D,E合計
ddply(tokyo.2014,.(month),colwise(sum,.(A,B,C,D,E)))
   month      A        B     C        D        E
1     01  22071  43799.0 15360  34747.0  11658.0
2     02  19727  45060.5 24549  35141.5  11569.5
3     03  35237  50806.0 24449  51871.0  28715.0
4     04  55324  88766.0 37782  85998.0  55821.0
.      .      .        .     .        .        .
.      .      .        .     .        .        .
  • 月、曜日毎のA,B,C,D,E平均値
ddply(tokyo.2014,.(month,week),colwise(mean,.(A,B,C,D,E)))
   month week        A        B        C        D        E
1     01    1 1027.800 1508.400  515.400 1065.600  369.800
2     01    2  583.200 1287.200  444.600 1102.400  376.200
3     01    3  673.600 1485.600  564.600 1365.400  394.000
.      .    .        .        .        .        .        .
.      .    .        .        .        .        .        .
82    12    5  689.000 2120.000  453.000 1215.000  653.500
83    12    6  760.200 1787.600  495.600 1225.400  636.600
84    12    7  557.600 1706.800  583.200 1143.600  555.000
  • 月毎に数値列の平均値を取得する
ddply(tokyo.2014,.(month),colwise(mean,is.numeric))
  • numericな列のみを取得する
data[sapply(data,is.numeric)]

参考資料

plyrパッケージの使い方メモ