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을 사용하여 인덱스로 열을 선택하는 방법