더북(TheBook)

모자이크 플롯(mosaicplot)

모자이크 플롯은 범주형(R에서는 팩터로 표현) 다변량 데이터(하나 이상의 변수가 있는 데이터)를 표현하는 데 적합한 그래프다. 모자이크 플롯에는 사각형들이 그래프에 나열되며, 각 사각형의 넓이가 각 범주에 속한 데이터의 수에 해당한다.

표 6-28 모자이크 플롯

mosaicplot : 모자이크 플롯을 그린다.

mosaicplot(
  x,          # table()로 구한 분할표
  color=NULL, # 모자이크 플롯을 칠하는 색상. TRUE로 지정되면 다양한 농도의 회색 계열
              # 팔레트 색상으로 각 사각형이 칠해진다. 기본값은 같은 농도의 회색으로 칠한다.
)

mosaicplot(
  formula,    # 모자이크 플롯을 그릴 포뮬러. "~ 변수 + 변수" 형태의 식을 사용한다.
  data=NULL,  # 포뮬러를 적용할 데이터.   table의 인스턴스, 데이터 프레임 또는 행렬
  color=NULL,
  ...
)

이 절에서는 타이타닉호 생존자의 정보를 담고 있는 Titanic 데이터를 사용해 모자이크 플롯을 그려본다. Titanic 데이터의 형태는 다음과 같다.

> data(Titanic)
> str(Titanic)
table [1:4, 1:2, 1:2, 1:2] 0 0 35 0 0 0 17 0 118 154 ...
- attr(*, "dimnames")=List of 4
 ..$ Class : chr [1:4] "1st" "2nd" "3rd" "Crew"
 ..$ Sex : chr [1:2] "Male" "Female"
 ..$ Age : chr [1:2] "Child" "Adult"
 ..$ Survived: chr [1:2] "No" "Yes"

Titanic은 table 클래스의 인스턴스며, 속성은 객실 구분Class, 성별Sex, 성인 여부Adult, 생존 여부Survived로 구성되어 있다. 실제 데이터를 살펴보자.

> Titanic
, , Age = Child, Survived = No

     Sex
Class Male Female
  1st      0      0
  2nd      0      0
  3rd     35     17
  Crew     0      0

, , Age = Adult, Survived = No

     Sex
Class Male Female
  1st  118      4
  2nd  154     13
  3rd  387     89
 Crew  670      3

, , Age = Child, Survived = Yes

     Sex
Class Male Female
  1st    5      1
  2nd   11     13
  3rd   13     14
 Crew    0      0

, , Age = Adult, Survived = Yes

       Sex
Class Male Female
  1st   57    140
  2nd   14     80
  3rd   75     76
 Crew  192     20
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.