Скажите, что я хочу считать последние 15 дней уникальным идентификатором на каждый день.Вот код:
library(tidyverse)
library(lubridate)
set.seed(1)
eg <- tibble(day = sample(seq(ymd('2018-01-01'), length.out = 100, by = 'day'), 300, replace = T),
id = sample(letters[1:26], 300, replace = T),
value = rnorm(300))
eg %>%
group_by(day) %>%
summarise(uniqu_id = n_distinct(id),
recent_15_days_unique_id = 'howto',
day_total = sum(value))
Результат:
# A tibble: 95 x 4
day uniqu_id recent_15_days_unique_id day_total
<date> <int> <chr> <dbl>
1 2018-01-01 3 how -1.38
2 2018-01-02 3 how 2.01
3 2018-01-03 3 how 1.57
4 2018-01-04 6 how -1.64
5 2018-01-05 2 how -0.293
6 2018-01-06 4 how -2.08
Для столбца 'Recent_15_days_unique_id' первая строка должна подсчитать уникальный идентификатор между "день-15" до "день", то есть «2017-12-17» и «2018-01-01», вторая строка между «2017-12-18» и «2018-01-02». Это похоже на функцию «rollsum», но для подсчета.