【发布时间】:2020-05-20 20:36:50
【问题描述】:
我目前正在构建一些与 covid 相关的数据图表......我的脚本会输出并下载最新数据并从那里开始。我最终得到了看起来像
的数据框head(NMdata)
Date state positiveIncrease totalTestResultsIncrease
1 2020-05-19 NM 158 4367
2 2020-05-18 NM 81 4669
3 2020-05-17 NM 195 4126
4 2020-05-16 NM 159 4857
5 2020-05-15 NM 139 4590
6 2020-05-14 NM 152 4722
我一直在使用来自tidyquant 的tq_transmute 函数汇总每周数据。
NMweeklyPos <- NMdata %>% tq_transmute(select = positiveIncrease, mutate_fun = apply.weekly, FUN=sum)
这可行,但它会在一年中的某个星期聚合,星期几从星期日开始。
head(NMweeklyPos)
Date positiveIncrease
<dttm> <int>
1 2020-03-08 00:00:00 0
2 2020-03-15 00:00:00 13
3 2020-03-22 00:00:00 44
4 2020-03-29 00:00:00 180
5 2020-04-05 00:00:00 306
6 2020-04-12 00:00:00 631
例如,如果我今天运行它(恰好是星期三),我的最后一个条目是星期一、星期二、星期三的部分星期。
tail(NMweeklyPos)
Date positiveIncrease
<dttm> <int>
1 2020-04-19 00:00:00 624
2 2020-04-26 00:00:00 862
3 2020-05-03 00:00:00 1072
4 2020-05-10 00:00:00 1046
5 2020-05-17 00:00:00 1079
6 2020-05-19 00:00:00 239
就我的图表而言,这最终是一个很小的值,因此我在最后舍弃了部分周,但这意味着我要丢弃最新的数据。
我更希望从数据集开始时抛出部分周,并让聚合自动使用在脚本运行的任何一天结束的周。因此,如果我今天(周三)运行它,它将在周三结束的几周内进行汇总,以便我包含最新的数据......我可以从数据开始时删除部分周。但是明天它会选择周四结束的几周,等等。而且我不想每次都硬编码周末的日期并更改它。
我该如何实现这一目标?
【问题讨论】:
标签: r time-series