Gegevens per maand groeperen in r (met voorbeeld)


U kunt de functie floor_date() uit het lubridate- pakket in R gebruiken om gegevens snel op maand te groeperen.

Deze functie gebruikt de volgende basissyntaxis:

 library (tidyverse)

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

Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.

Voorbeeld: groepeer gegevens per maand in R

Stel dat we het volgende gegevensframe in R hebben dat de totale verkoop van een artikel op verschillende datums weergeeft:

 #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

We kunnen de volgende code gebruiken om de som van de verkopen te berekenen, gegroepeerd per maand:

 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

Uit het resultaat kunnen we zien:

  • In totaal vonden er in januari 22 verkopen plaats.
  • In totaal werden er in februari 45 verkopen gedaan.
  • In totaal werden er in maart 56 verkopen gedaan.

We kunnen gegevens ook samenvoegen met behulp van een andere statistiek.

We kunnen bijvoorbeeld de maximale omzet op een dag berekenen, gegroepeerd per maand:

 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

Uit het resultaat kunnen we zien:

  • De meeste verkopen op één dag in januari waren 14 .
  • De meeste verkopen op één dag in februari waren 23 .
  • De meeste verkopen op één dag in maart waren 23 .

Voel je vrij om welke metriek dan ook te gebruiken in de summary() functie.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

Hoe jaar uit datum te extraheren in R
Hoe maand uit datum te extraheren in R
Hoe een dataframe op datum te sorteren in R
Hoe factor tot nu toe in R te converteren

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert