该cast()
函数非常适合计算聚合值的边距:
cast(df, IDx1+IDx2~IDy1, margins=c('IDx1','IDx2','grand_row'),c(min, mean, max))
问题是我需要使用第二个向量和自定义函数来衡量我的平均值。
当然,ddply()
让我将自定义聚合函数应用于我的分组记录:
ddply(d, IDx1+IDx2~IDy1 , function(x)
c(
min(x$value),
MyFancyWeightedHarmonicMeanFunction(x$value,x$weight),
max(x$value)
)
)
......这太棒了。
但真正能拯救这一天的是能够同时做这两件事,无论是通过调用双向量函数cast()
还是以某种方式伪造margins=()
变量ddply().
这可能吗?