【发布时间】:2021-06-21 00:35:45
【问题描述】:
我正在使用一个数据框,该数据框按三个变量(日期、活动和国家/地区)对值进行索引。其他每个值都根据这三个值进行索引,如下所示:
# Groups: date, campaign [1,325]
date campaign country cost clicks
<date> <dbl> <chr> <dbl> <dbl>
1 2021-03-01 10127671839 0 0.45 7
2 2021-03-01 10127671839 AD 0.47 10
3 2021-03-01 10127671839 AE 0.39 11
4 2021-03-01 10127671839 AF 0.27 2
5 2021-03-01 10127671839 AG 0 0
6 2021-03-01 10127671839 AI 1.28 2
7 2021-03-01 10127671839 AL 0.66 6
8 2021-03-01 10127671839 AM 0.33 2
9 2021-03-01 10127671839 AO 0 0
10 2021-03-01 10127671839 AR 0 0
# … with 335,215 more rows
我正在尝试创建这些值的移动平均值(在上表中,“成本”和“点击次数”)仍然按国家、广告系列和日期编制索引。
编辑:我找到了一个很好的函数,当只有两个索引变量时可以工作(在这里:Rolling mean (moving average) by group/id with dplyr),但我没有足够的技能来调整代码来处理三个或更多变量。
【问题讨论】:
-
df %>% group_by(date, campaign, country) %>% mutate(across(c(cost,clicks), list(rm = ~ zoo::rollmean(., 2, fill=NA))))
标签: r database dataframe dplyr tidyverse