【发布时间】:2014-12-20 13:49:25
【问题描述】:
我正在尝试在 R 中使用聚合来汇总一些数据,同时还使用以下数据计算附加列的值
新数据
Year HNo County ST Month Day DuckBag GooseBag
2012 264120547 LA ND 10 13 6 0
2008 264080047 EDDY ND 9 27 4 1
2013 26430119 ROLETTE ND 10 20 3 0
2006 264060447 BURKE ND 10 25 5 0
2006 264061113 BENSON ND 10 2 3 1
2012 564120139 OLIVER ND 12 15 0 3
2013 26430294 TOWNER ND 10 10 2 0
2007 564070298 LOGAN ND 9 29 0 0
2007 564070869 SHERIDAN ND 10 21 0 0
2007 564070315 CASS ND 9 2 0 0
2005 264050791 SHERIDAN ND 10 15 3 0
2012 264120240 RAMSEY ND 11 1 6 0
2013 26431021 TOWNER ND 10 20 3 0
2013 56430774 NA ND 10 9 5 2
2006 264061288 BENSON ND 10 4 5 1
2005 264051006 EDDY ND 10 17 5 2
2010 264100848 MORTON ND 10 2 0 0
2011 264110151 CASS ND 10 8 4 1
2005 264051100 WARD ND 10 9 1 0
2013 26430194 MC ND 11 1 5 0
我想在 Year 和 Month 上汇总每个组合的 DuckBag 和 GooseBag 的总和。此外,我想计算每个年/月组合中有多少行的 DuckBag 或 GooseBag >0。
我可以接近这些代码,但不是我想要的。
aggregate(newdata$DuckBag,list(Year = newdata$Year, Month = newdata$Month),sum)
aggregate(DuckBag ~ Year+Month,data = newdata,FUN=function(newdata) c(total =sum(newdata), n=length(newdata) ) )
dplyr 会更好地工作吗?我看过的 dplyr 代码看起来更干净,但不知道从哪里开始计数。最后,虽然我确定它要求太多,但有没有办法可以添加一个列,让我给出由该年/月总和表示的适当年份总和的比例?非常感谢。
【问题讨论】: