gpt4 book ai didi

r - 在 r 中一步聚合和计算

转载 作者:行者123 更新时间:2023-12-02 05:49:23 24 4
gpt4 key购买 nike

我正在尝试在 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 代码似乎更清晰,但不确定从哪里开始计数。最后,虽然我确定它要求太多,但有没有一种方法可以添加一个列,给出该年/月总和所代表的适当年份总和的比例?非常感谢。

最佳答案

也许像这样?

group_by(df, Year, Month) %>%
summarise_each(funs(Sum = sum(.), Positive = sum(. > 0)), DuckBag, GooseBag)
#Source: local data frame [12 x 6]
#Groups: Year
#
# Year Month DuckBag_Sum GooseBag_Sum DuckBag_Positive GooseBag_Positive
#1 2005 10 9 2 3 1
#2 2006 10 13 2 3 2
#3 2007 9 0 0 0 0
#4 2007 10 0 0 0 0
#5 2008 9 4 1 1 1
#6 2010 10 0 0 0 0
#7 2011 10 4 1 1 1
#8 2012 10 6 0 1 0
#9 2012 11 6 0 1 0
#10 2012 12 0 3 0 1
#11 2013 10 13 2 4 1
#12 2013 11 5 0 1 0

关于r - 在 r 中一步聚合和计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27573640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com