我的数据集具有相同日期的多个值。
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”列的加权平均值。
答案 0 :(得分:1)
您应该查看plyr
包。
require(plyr)
ddply(df, .(date), function(x) mean(x$valuetwo))
ddply(df, .(date), function(x) weighted.mean(x$valueone, x$mass))