Сумма столбца по условию из разных столбцов даты в датафрейме - PullRequest
0 голосов
/ 22 апреля 2020

Привет, у меня есть датафрейм:

order_number   created_at     invoiced_at   shipped_at  quantity
UT637RR        2020-01-04     2020-01-06    2020-01-08  45
JYWEDER        2020-03-04     2020-03-04    2020-03-11  15
KFUV89R        2020-02-07     2020-02-13    2020-02-18  23
USKUV8R        2020-01-14     2020-01-16    2020-01-18  22
WUYT8RR        2020-02-13     2020-01-23    2020-01-30  12

Я хочу суммировать, сколько было создано, сколько было выставлено счетов, сколько было отправлено вчера.

Я пытался этот метод, но я не получаю желаемый результат

df <- df %>% 
  select(processed_quantity,i_d,s_d,c_d) %>% 
  group_by(i_d,s_d,c_d) %>%
  summarise(id = sum(processed_quantity),sd = sum(processed_quantity),cd = sum(processed_quantity))

1 Ответ

1 голос
/ 22 апреля 2020

Вот решение:

library(dplyr)

df %>%
  gather(type,date,-order_number,-quantity) %>%
  group_by(type,date) %>%
  summarise(quantity = sum(quantity) %>%
  filter(date == //yesterday) # here you should put the actual date you are looking for

Это решение сначала создает фрейм данных, который имеет один столбец для типа даты (создан, отправлен, выставлен счет) и один столбец для фактической даты.

Затем мы используем group_by() для агрегирования количества для каждой даты и типа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...