Вы можете использовать функцию floor_date() из пакета lubridate в R, чтобы быстро сгруппировать данные по месяцам.
Эта функция использует следующий базовый синтаксис:
library (tidyverse)
df %>%
group_by(month = lubridate::floor_date(date_column, 'month')) %>%
summarize(sum = sum(value_column))
В следующем примере показано, как использовать эту функцию на практике.
Пример: группировка данных по месяцам в R
Предположим, у нас есть следующий фрейм данных в R, который показывает общий объем продаж некоторого товара в разные даты:
#create data frame
df <- data.frame(date=as. Date (c('1/4/2022', '1/9/2022', '2/10/2022', '2/15/2022',
'3/5/2022', '3/22/2022', '3/27/2022'), '%m/%d/%Y'),
sales=c(8, 14, 22, 23, 16, 17, 23))
#view data frame
df
date sales
1 2022-01-04 8
2 2022-01-09 14
3 2022-02-10 22
4 2022-02-15 23
5 2022-03-05 16
6 2022-03-22 17
7 2022-03-27 23
Мы можем использовать следующий код для расчета суммы продаж, сгруппированных по месяцам:
library (tidyverse)
#group data by month and sum sales
df %>%
group_by(month = lubridate::floor_date(date, 'month')) %>%
summarize(sum_of_sales = sum(sales))
# A tibble: 3 x 2
month sum_of_sales
1 2022-01-01 22
2 2022-02-01 45
3 2022-03-01 56
Из вывода мы видим:
- Всего в январе было совершено 22 продажи.
- Всего в феврале было совершено 45 продаж.
- Всего в марте было совершено 56 продаж.
Мы также можем агрегировать данные, используя какую-либо другую метрику.
Например, мы можем рассчитать максимальное количество продаж за один день, сгруппированное по месяцам:
library (tidyverse)
#group data by month and find max sales
df %>%
group_by(month = lubridate::floor_date(date, 'month')) %>%
summarize(max_of_sales = max(sales))
# A tibble: 3 x 2
month max_of_sales
1 2022-01-01 14
2 2022-02-01 23
3 2022-03-01 23
Из вывода мы видим:
- Максимальный объем продаж за один день в январе составил 14 .
- Максимальный объем продаж за один день в феврале составил 23 .
- Максимальный объем продаж за один день в марте составил 23 .
Не стесняйтесь использовать любую метрику, которую вы хотите, в функции summ() .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:
Как извлечь год из даты в R
Как извлечь месяц из даты в R
Как отсортировать фрейм данных по дате в R
Как преобразовать фактор в дату в R