我想更改以下数据集:
date A B
01/01/2018 391 585
02/01/2018 420 595
03/01/2018 455 642
04/01/2018 469 654
05/01/2018 611 900
06/01/2018 449 640
07/01/2018 335 522
08/01/2018 726 955
09/01/2018 676 938
10/01/2018 508 740
11/01/2018 562 778
12/01/2018 561 761
13/01/2018 426 609
14/01/2018 334 508
我想要的输出如下:
date A B
07/01/2018 3130 4538
14/01/2018 3793 5289
其中,A 列和 B 列的数量是每周 7 天的总和。确实,我想将每日数据转换为每周数据。我在 Stackoverflow 网站上找到了两个解决方案。一种解决方案是使用库(tidyquant)和以下代码
library(tidyquant)
newfd<-df %>%
tq_transmute(select = A,
mutate_fun = apply.weekly,
FUN = sum)
该代码为 A 列生成每周数据,而我需要所有列。(我有很多专栏)。我还使用了以下代码。但是,我不知道如何为所有列开发代码。
library(slider)
slide_period_dfr(.x = califo, .i=as.Date(califo$date),
.period = "week",
.f = ~data.frame(week_ending = tail(.x$ date,1),
week_freq = sum(.x$A)),
.origin = as.Date("2018-01-01"))