Como agrupar dados por mês em r (com exemplo)


Você pode usar a função floor_date() do pacote lubridate em R para agrupar rapidamente os dados por mês.

Esta função usa a seguinte sintaxe básica:

 library (tidyverse)

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

O exemplo a seguir mostra como usar esta função na prática.

Exemplo: agrupar dados por mês em R

Suponha que temos o seguinte quadro de dados em R que mostra o total de vendas de um item em datas diferentes:

 #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

Podemos usar o seguinte código para calcular a soma das vendas, agrupadas por mês:

 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

Pelo resultado podemos ver:

  • No total, foram realizadas 22 vendas em janeiro.
  • No total, foram realizadas 45 vendas em fevereiro.
  • No total, foram realizadas 56 vendas em março.

Também podemos agregar dados usando outra métrica.

Por exemplo, poderíamos calcular o máximo de vendas realizadas em um dia, agrupadas por mês:

 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

Pelo resultado podemos ver:

  • O maior número de vendas realizadas em um dia de janeiro foi 14 .
  • O maior número de vendas realizadas em um dia de fevereiro foi 23 .
  • O maior número de vendas realizadas em um dia de março foi 23 .

Sinta-se à vontade para usar qualquer métrica que desejar na função summary() .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como extrair o ano da data em R
Como extrair mês da data em R
Como classificar um quadro de dados por data em R
Como converter fator para data em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *