R에서 그룹별 요약 통계를 계산하는 방법


R에는 그룹 요약 통계를 계산하는 두 가지 기본 방법이 있습니다.

방법 1: Base R에서 tapply() 사용

 tapply(df$value_col, df$group_col, summary)

방법 2: dplyr 패키지의 group_by() 사용

 library (dplyr)

df %>%
  group_by (group_col) %>% 
  summarize (min = min(value_col),
            q1 = quantile(value_col, 0.25 ),
            median = median(value_col),
            mean = mean(value_col),
            q3 = quantile(value_col, 0.75 ),
            max = max(value_col))

다음 예에서는 각 방법을 실제로 사용하는 방법을 보여줍니다.

방법 1: Base R에서 tapply() 사용

다음 코드는 R의 tapply() 함수를 사용하여 그룹별 요약 통계를 계산하는 방법을 보여줍니다.

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(99, 68, 86, 88, 95, 74, 78, 93),
                 assists=c(22, 28, 31, 35, 34, 45, 28, 31),
                 rebounds=c(30, 28, 24, 24, 30, 36, 30, 29))

#calculate summary statistics of 'points' grouped by 'team'
tapply(df$points, df$team, summary)

$A
   Min. 1st Qu. Median Mean 3rd Qu. Max. 
  68.00 81.50 87.00 85.25 90.75 99.00 

$B
   Min. 1st Qu. Median Mean 3rd Qu. Max. 
   74.0 77.0 85.5 85.0 93.5 95.0 

방법 2: dplyr 패키지의 group_by() 사용

다음 코드는 dplyr 패키지의 group_by()summary() 함수를 사용하여 그룹별 요약 통계를 계산하는 방법을 보여줍니다.

 library (dplyr)

#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(99, 68, 86, 88, 95, 74, 78, 93),
                 assists=c(22, 28, 31, 35, 34, 45, 28, 31),
                 rebounds=c(30, 28, 24, 24, 30, 36, 30, 29))

#calculate summary statistics of 'points' grouped by 'team'
df %>%
  group_by (team) %>% 
  summarize (min = min(points),
            q1 = quantile(points, 0.25 ),
            median = median(points),
            mean = mean(points),
            q3 = quantile(points, 0.75 ),
            max = max(points))

# A tibble: 2 x 7
  team min q1 median mean q3 max
         
1 A 68 81.5 87 85.2 90.8 99
2 B 74 77 85.5 85 93.5 95

두 방법 모두 정확히 동일한 결과를 반환합니다.

더 큰 데이터 프레임에서는 dplyr 접근 방식이 더 빠를 수 있지만 두 방법 모두 더 작은 데이터 프레임에서는 유사하게 수행된다는 점은 주목할 가치가 있습니다.

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 그룹화 기능을 수행하는 방법을 설명합니다.

R에서 그룹별 빈도표를 만드는 방법
R에서 그룹별 합계를 계산하는 방법
R에서 그룹당 평균을 계산하는 방법
R에서 그룹별 합계를 계산하는 방법

의견을 추가하다

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