根据时间R汇总值

时间:2016-09-13 03:56:55

标签: r aggregate

我需要根据时间线总结这些值,这里是数据

           userid user_count       time
215981 1702099122          1 2014-10-16
762721 2631243080          1 2014-11-17
806291 2753297247          1 2014-10-13
927621 3177288950          1 2014-11-22
136961 1632673193          1 2015-10-12
374601 1801088453          1  2015-11-9

如果我使用aggregate添加名为user_time的列

user_time <- aggregate(user_count ~time, df, sum)

然后我会在每天获得总user_count,user_time将全部为1。 但是,我想计算每天的总和。例如,2014-11-22的user_time应该是4,2014-10-16应该是2.我想知道如何正确地做到这一点。谢谢。

1 个答案:

答案 0 :(得分:2)

也许我们需要cumsum

library(dplyr)
df %>% 
     arrange(time) %>%
     mutate(Count = cumsum(user_count))

或使用base R

 transform(df[order(df$time),], Count = cumsum(user_count))