R에서 3방향 테이블을 만드는 방법(예제 포함)
삼변량 표는 세 가지 범주형 변수의 빈도를 표시하는 표 유형입니다.
R에서 항목이 3개인 테이블을 만드는 가장 쉬운 방법은 xtabs() 함수를 사용하는 것입니다.
three_way <- xtabs(~var1 + var2 + var3, data=df)
3방향 배열을 더 간결하게 표시하려면 ftable() 함수를 사용할 수 있습니다.
three_way_ftable <- ftable(three_way)
참고 : xtabs() 및 ftable() 함수는 R 데이터베이스에 통합되었습니다.
다음 예에서는 실제로 이러한 함수를 사용하여 R에서 3방향 테이블을 만드는 방법을 보여줍니다.
예: R에서 3방향 테이블을 만드는 방법
다양한 농구 선수에 대한 정보가 포함된 다음과 같은 데이터 프레임이 있다고 가정합니다.
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'), position=c('G', 'G', 'G', 'F', 'F', 'G', 'G', 'F', 'F', 'F'), starter=c('Yes', 'No', 'No', 'Yes', 'No', 'Yes', 'No', 'Yes', 'Yes', 'No'), points=c(30, 28, 24, 24, 28, 14, 16, 20, 34, 29)) #view data frame df team position starter points 1 AG Yes 30 2 AG No. 28 3 AG No. 24 4 AF Yes 24 5 AF No. 28 6 BG Yes 14 7 BG No. 16 8 BF Yes 20 9 BF Yes 34 10 BF No. 29
team , position 및 starter 의 세 가지 변수를 기반으로 플레이어 빈도를 표시하는 3방향 테이블을 생성한다고 가정해 보겠습니다.
xtabs() 함수를 사용하여 이 3방향 배열을 만들 수 있습니다.
#create three-way table three_way <- xtabs(~ team + position + starter, data=df) #view three-way table three_way , , starter = No position team FG AT 12 B 1 1 , , starter = Yes position team FG At 1 1 B 2 1
결과의 첫 번째 테이블에는 시작 변수가 No인 팀 및 포지션 별 선수 빈도가 표시됩니다.
두 번째 표는 시작 변수가 ‘예’인 팀 및 포지션 별 플레이어 빈도를 보여줍니다.
원하는 경우 ftable() 함수를 사용하여 이러한 배열을 단일 배열로 “평면화”할 수 있습니다.
#convert table to ftable three_way_ftable <- ftable(three_way) #view ftable three_way_fttable starter No Yes team position AF 1 1 G 2 1 BF 1 2 G 1 1
결과 3변수 테이블은 3개 변수의 빈도를 “평탄한” 형식으로 표시합니다.
예를 들어 다음을 볼 수 있습니다.
- A팀 F포지션에 선발투수가 아닌 선수가 1 명 있었습니다.
- A팀 F포지션에 선발로 출전한 선수가 1 명 있었습니다.
- A팀 G포지션에는 선발투수가 아닌 선수가 2 명 있었다.
등등.
추가 리소스
다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.