取特定日期的平均值

时间:2014-03-21 14:07:26

标签: r

我的数据集具有相同日期的多个值。

date    mass    valueone    valuetwo
2013-01-02  12  9.10569191  26.22318268
2013-01-02  15  5.016628265 16.58695984
2013-01-03  20  7.509440899 22.64411354
2013-01-03  25  8.071264267 23.34286118
2013-01-03  30  7.288148403 23.59916115
2013-01-04  11  0.911922812 26.51670265
2013-01-04  13  1.18976903  25.9934597
2013-01-04  22  1.43922472  26.04818726
2013-01-04  24  1.840413213 25.83506966
2013-01-05  33  4.039563656 26.57515907
2013-01-05  25  4.273991585 26.97957993

我希望得到两件事的帮助。

a)如何取日期列“valuetwo”的平均值。 b)如何对每个日期的质量采用“valueone”列的加权平均值。

1 个答案:

答案 0 :(得分:1)

您应该查看plyr包。

require(plyr)
ddply(df, .(date), function(x) mean(x$valuetwo))
ddply(df, .(date), function(x) weighted.mean(x$valueone, x$mass))