【发布时间】:2021-07-20 01:24:58
【问题描述】:
我有一个如下的 R df:
| date_entered | returning | new |
| ------------ | --------- | --- |
| 2021-06-02 | 0 | 14 |
| 2021-06-03 | 12 | 8 |
| 2021-06-04 | 8 | 0 |
| 2021-06-05 | 7 | 15 |
| 2021-06-07 | 10 | 4 |
| 2021-06-08 | 12 | 22 |
| 2021-06-09 | 4 | 15 |
| 2021-06-10 | 0 | 28 |
| 2021-06-12 | 22 | 16 |
| 2021-06-15 | 20 | 5 |
| 2021-06-16 | 18 | 12 |
| 2021-06-17 | 2 | 10 |
| 2021-06-18 | 12 | 8 |
- 请注意,缺少日期。我需要在每 7 天之后从上面找到“新”列的总和,如下所示:
| date_range | sum_new |
| ----------------------- | ------- |
| 2021-06-02 - 2021-06-08 | 53 |
| 2021-06-09 - 2021-06-15 | 49 |
| 2021-06-16 - 2021-06-22 | 30 |
我尝试了以下方法:
library(zoo)
n <- 7
rollapply(df$new, n, sum, by = n)
但它会忽略日期,只是在 df 的每七个值之后添加
| sum_new |
| ------- |
| 78 |
| 79 |
这不是我想要得到的。
【问题讨论】:
-
最好在数据的最后提供代码,即
dput(df)。 -
因为我的问题是如何高效地复制然后将数据导入 R。