将每日聚合添加为数据框中的新列

时间:2017-06-12 15:09:29

标签: r

所以我有牛,还有很多牛。我正在尝试在我的数据框中添加一列,即每天牛的总数,基于一天中总计的几个计数。我有这个数据框:

Guirvidig

# A tibble: 494 × 8
#    Year  Week       Date  Location Animals           From            To     Notes
#   <int> <int>     <date>     <chr>   <int>          <chr>         <chr>     <chr>
#    2010   31 2010-08-01  GUIRVIDIG    580 Bongor – Tchad BANKI NIGERIA       RAS

我得到的是:

Guirvidig$TotalAnimals <- aggregate(Animals~Date,Guirvidig,sum)
  

$<-.data.frame*tmp*,TotalAnimals,value = list(日期= c(14822,:     替换有136行,数据有494`

当然,数据有更多行,因为替换是原始行的总和。如何在同一天的每一行中替换行都相同,或者只显示当天第一行的当天总和?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

library(dplyr)

Guirvidig <- Guirvidig %>% group_by(date) %>% mutate(Total_Animals = sum(Animals) %>% ungroup()

答案 1 :(得分:0)

You can just wrap aggregate with merge:

merge(aggregate(Animals ~ Date, Guirvidig, sum), Guirvidig)