Узнайте количество заказов и стоимость заказа на клиента в первые 3 дня после их присоединения? - PullRequest
1 голос
/ 19 мая 2019

Ниже приведен пример набора данных:

user_id  first_payment_date  order_date  order_id   order_value
1         01/01/19           02/01/19      1          10
1         01/01/19           03/01/19      2          20
1         01/01/19           07/01/19      3          30
2         15/01/19           17/01/19      4          50
2         15/01/19           17/01/19      5          60
2         15/01/19           20/01/19      6          70

Я пытаюсь узнать количество заказов и их стоимость в течение первых 3 дней с даты first_payment_date . Вывод будет выглядеть так:

user_id orders  order_value
1          2    30
2          2    110

Я ищу решение в г.

1 Ответ

3 голосов
/ 19 мая 2019

Одна dplyr возможность может быть:

df %>%
 mutate_at(2:3, list(~ as.Date(., format = "%d/%m/%y"))) %>%
 mutate(cond = as.numeric(order_date - first_payment_date) <= 3) %>%
 filter(cond) %>%
 group_by(user_id) %>%
 summarise(orders = n(),
           order_value = sum(order_value))

  user_id orders order_value
    <int>  <int>       <int>
1       1      2          30
2       2      2         110
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...