このcast()
関数は、集計値のマージンを計算するのに最適です。
cast(df, IDx1+IDx2~IDy1, margins=c('IDx1','IDx2','grand_row'),c(min, mean, max))
問題は、2番目のベクトルとカスタム関数を使用して平均に重みを付ける必要があることです。
もちろん、ddply()
グループ化されたレコードにカスタム集計関数を適用できます。
ddply(d, IDx1+IDx2~IDy1 , function(x)
c(
min(x$value),
MyFancyWeightedHarmonicMeanFunction(x$value,x$weight),
max(x$value)
)
)
...そしてこれは素晴らしいです。
しかし、実際に1日を節約できるのは、で2ベクトル関数を呼び出すか、で変数をcast()
偽造することによって、両方のことを同時に実行できることです。margins=()
ddply().
これは可能ですか?