Jak grupować dane według miesięcy w r (z przykładem)


Możesz użyć funkcji Floor_date() z pakietu lubridate w R, aby szybko pogrupować dane według miesięcy.

Ta funkcja wykorzystuje następującą podstawową składnię:

 library (tidyverse)

df %>% 
    group_by(month = lubridate::floor_date(date_column, ' month ')) %>%
    summarize(sum = sum(value_column))

Poniższy przykład pokazuje, jak w praktyce wykorzystać tę funkcję.

Przykład: grupuj dane według miesięcy w R

Załóżmy, że mamy następującą ramkę danych w R, która pokazuje całkowitą sprzedaż towaru w różnych datach:

 #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

        dirty date
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

Możemy użyć poniższego kodu do obliczenia sumy sprzedaży pogrupowanej według miesięcy:

 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

Z wyniku możemy zobaczyć:

  • W sumie w styczniu dokonano 22 sprzedaży.
  • W sumie w lutym dokonano 45 sprzedaży.
  • W sumie w marcu dokonano 56 sprzedaży.

Możemy również agregować dane przy użyciu innego miernika.

Na przykład możemy obliczyć maksymalną sprzedaż zrealizowaną w ciągu dnia, pogrupowaną według miesięcy:

 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

Z wyniku możemy zobaczyć:

  • Najwięcej sprzedaży dokonanej w ciągu jednego dnia w styczniu wyniosło 14 sztuk .
  • Największa sprzedaż dokonana w ciągu jednego dnia w lutym wyniosła 23 .
  • Największa sprzedaż zrealizowana jednego dnia w marcu wyniosła 23 .

W funkcji podsumowania() możesz swobodnie używać dowolnej metryki.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:

Jak wyodrębnić rok z daty w R
Jak wyodrębnić miesiąc z daty w R
Jak posortować ramkę danych według daty w R
Jak przekonwertować współczynnik na bieżąco w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *