R에서 월별로 데이터를 그룹화하는 방법(예제 포함)


R의 lubridate 패키지에 있는 Floor_date() 함수를 사용하면 데이터를 월별로 빠르게 그룹화할 수 있습니다.

이 함수는 다음 기본 구문을 사용합니다.

 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

        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

다음 코드를 사용하여 월별로 그룹화된 매출 합계를 계산할 수 있습니다.

 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

결과에서 우리는 다음을 볼 수 있습니다:

  • 1월에는 총 22건의 판매가 이루어졌습니다.
  • 2월에는 총 45개가 판매되었습니다.
  • 3월에는 총 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

결과에서 우리는 다음을 볼 수 있습니다:

  • 1월 하루 최대 판매량은 14개였다 .
  • 2월 하루 최대 판매량은 23개였다 .
  • 3월 하루 최대 판매량은 23 개였다.

summary() 함수에서 원하는 측정항목을 자유롭게 사용해 보세요.

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

R에서 날짜로부터 연도를 추출하는 방법
R에서 날짜로부터 월을 추출하는 방법
R에서 날짜별로 데이터 프레임을 정렬하는 방법
R에서 요소를 날짜로 변환하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다