R에서 그룹별 빈도표를 만드는 방법


dplyr 패키지의 다음 기능을 사용하여 R에서 그룹별 빈도 테이블을 만들 수 있습니다.

 library (dplyr)

df %>%
  group_by (var1, var2) %>%
  summarize (Freq=n())

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

예: 그룹별 빈도표 만들기

R에 다음과 같은 데이터 프레임이 있다고 가정합니다.

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'G', 'F', 'G', 'F', 'F', 'C'))

#view data frame
df

  team position
1 AG
2 AG
3 AG
4 AF
5 BG
6 BF
7 BF
8 BC

팀별로 그룹화하여 각 직위의 빈도를 보여주는 빈도 테이블을 생성한다고 가정해 보겠습니다.

이를 위해 다음 구문을 사용할 수 있습니다.

 library (dplyr)

#calculate frequency of position, grouped by team
df %>%
group_by (team, position) %>%
summarize (Freq=n())

# A tibble: 5 x 3
# Groups: team [2]
  team position Freq
       
1 AF 1
2 AG 3
3 BC 1
4 BF 2
5 BG 1

결과를 해석하는 방법은 다음과 같습니다.

  • A팀의 선수 1명이 F 포지션을 차지합니다.
  • A팀 선수 3 명이 ‘G’ 포지션을 갖고 있다.
  • B팀의 선수 1 명이 “C” 포지션을 차지합니다.
  • B팀 선수 2 명은 F 포지션
  • B팀의 선수 1 명이 “G” 포지션을 차지합니다.

summary() 함수에서 변수 이름을 변경하여 빈도가 포함된 열의 이름을 바꿀 수 있습니다.

예를 들어, 대신 “count” 열의 이름을 바꿀 수 있습니다.

 library (dplyr)

#calculate frequency of position, grouped by team
df %>%
  group_by (team, position) %>%
  summarize (count=n())

# A tibble: 5 x 3
# Groups: team [2]
  team position count
       
1 AF 1
2 AG 3
3 BC 1
4 BF 2
5 BG 1

추가 리소스

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

dplyr을 사용하여 상대 빈도를 계산하는 방법
dplyr을 사용하여 그룹별로 변수를 정렬하는 방법
dplyr을 사용하여 인덱스로 열을 선택하는 방법

의견을 추가하다

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