R에서 피벗 테이블을 빠르게 만드는 방법


Excel에서 피벗 테이블은 데이터를 그룹화하고 요약하는 쉬운 방법을 제공합니다.

예를 들어 Excel에 다음 데이터 세트가 있는 경우 피벗 테이블을 사용하여 지역별 총 매출을 빠르게 요약할 수 있습니다.

이는 우리에게 다음을 알려줍니다.

  • A 지역에는 총 51개의 매출이 있었습니다.
  • B 지역에는 총 85개의 매출이 있었습니다.
  • C지역 총 매출 140개 달성

또는 지역별 평균 매출과 같은 다른 측정항목으로 요약할 수도 있습니다.

dplyr 패키지의 group_by()summary() 함수를 사용하여 R에서 유사한 피벗 테이블을 빠르게 만들 수 있다는 것이 밝혀졌습니다.

이 튜토리얼에서는 이를 수행하는 방법에 대한 몇 가지 예를 제공합니다.

예: R에서 피벗 테이블 만들기

먼저 이전 Excel 예제에서 사용한 것과 동일한 데이터 세트를 R에서 생성해 보겠습니다.

 #create data frame
df <- data. frame (region=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C'),
                 device=c('X', 'X', 'Y', 'X', 'Y', 'Y', 'X', 'X', 'Y', 'Y'),
                 sales=c(12, 18, 21, 22, 34, 29, 38, 36, 34, 32))

#view data frame
df

   region device sales
1AX 12
2AX18
3 AY 21
4 BX22
5 BY 34
6 BY 29
7 CX 38
8CX36
9 CY 34
10 CY 32

다음으로 dplyr 패키지를 로드하고 group_by()summary() 함수를 사용하여 지역별로 그룹화하고 지역별 매출 합계를 찾아보겠습니다.

 library (dplyr)

#find sum of sales by region
df %>%
  group_by (region) %>% 
  summarize (sum_sales = sum (sales))

# A tibble: 3 x 2
  region sum_sales
        
1 to 51
2 B 85
3 C 140

이 숫자가 Excel 소개 예제에 표시된 숫자와 일치하는 것을 볼 수 있습니다.

지역별 평균 매출도 계산할 수 있습니다.

 #find average sales by region
df %>%
  group_by (region) %>% 
  summarize (mean_sales = mean (sales))

# A tibble: 3 x 2
  region mean_sales
        
1 to 17  
2 B 28.3
3 C 35

다시 말하지만, 이 숫자는 이전 Excel 예제에 표시된 숫자와 일치합니다.

여러 변수를 기준으로 그룹화할 수도 있습니다. 예를 들어 지역 기기 유형별로 그룹화된 매출 합계를 찾을 수 있습니다.

 #find sum of sales by region and device type
df %>%
  group_by (region, device) %>% 
  summarize (sum_sales = sum (sales))

# A tibble: 6 x 3
# Groups: region [3]
  region device sum_sales
          
1AX30
2 AY 21
3 BX22
4 BY 63
5 CX 74
6 CY 66

추가 리소스

R에서 VLOOKUP(Excel과 유사)을 수행하는 방법
전체 가이드: R에서 데이터를 그룹화하고 요약하는 방법

의견을 추가하다

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