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 , positionstarter 의 세 가지 변수를 기반으로 플레이어 빈도를 표시하는 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에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

R에서 양방향 테이블을 만드는 방법
R에서 그룹별 빈도표를 만드는 방법
R에서 테이블을 그리는 방법

의견을 추가하다

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