plyrから簡単に実行される集計用のdata.frameがありddply
ます。ここでの目標は、集計オブジェクトを元のデータに自動的にバインドする関数を作成することです。問題は、複数の集計変数が存在する可能性があることです。
以下は、集計変数が1つしかない例を示しています。
ここに私が持っているデータフレームがあります:
M O
1 1 6
2 2 7
3 2 4
4 1 6
次に、ddply
「O」の集計を取得します。
TEST <- ddply(.data = DF,
.variables = c("M"),
.fun = summarise,
NEW = sum(O))
結果は次のようになります。
M NEW
1 1 12
2 2 11
ここでやりたいのは、変数" New
"を元のdata.frameにバインドできる関数を作成することです。
ループでは、次のように機能します。
for(i in 1:nrow(TEST)) {
DF$New[DF$M == TEST$M[i]] <- TEST$NEW[i]
}
M O New
1 1 6 12
2 2 7 11
3 2 4 11
4 1 6 12
ここで、これを、集計変数が1つ以上ある場合でも、同等の出力を提供する関数に変換したいと思います。