[R] 줄기-잎 그림 그리기 (Stem-and-Leaf plot)

stem-and-leaf-plot-in-r

해당 포스트에서는 R에서 줄기-잎 그림(Stem-and-Leaf Plot)을 출력하는 방법을 소개합니다.

1. INTRO

줄기-잎 그림(Stem-and-Leaf plot)은 통계학에서 통계적 자료를 표(table) 형태와 그래프(Graph) 형태의 혼합된 방법으로 나타내는 시각화를 말하며, R에서 내장 함수인 stem()을 이용해 줄기-잎 그림을 그릴 수 있습니다.

아래에서는 내장 데이터셋인 tree 데이터를 이용해 줄기-잎 그림을 시각화하는 방법을 설명 드리겠습니다.

2. 줄기-잎 그림 그리기

이번에 사용할 tree 데이터는 31그루의 벌목된 검은 벚나무의 지름, 높이, 부피 측정값을 제공이 들어있습니다.

  • Girth(numeric) : Tree diameter (rather than girth, actually) in inches
  • Height(numeric) : Height in ft
  • Volume(numeric) : Volume of timber in cubic ft

Note
데이터셋 설명(help(tree))에 따르면, 데이터의 지름(인치)이 둘레로 잘못 표시되어 있다고 합니다.

데이터 불러오기

내장 데이터셋인 tree를 불러오고 head() 명령어로 앞에서 6개의 데이터만 살펴보겠습니다.

# 데이터 불러오기
data("trees")

# 앞에서 6줄 확인
head(trees)
  Girth Height Volume
1   8.3     70   10.3
2   8.6     65   10.3
3   8.8     63   10.2
4  10.5     72   16.4
5  10.7     81   18.8
6  10.8     83   19.7

줄기-잎 그림(Stem-and-Leaf plot)

줄기-잎 그림은 stem() 함수로 그릴 수 있습니다. 변수 중 Volume의 경우 관찰값이 모두 두 자리 숫자인데, '|'의 왼쪽에 첫 번째 자릿수를 놓고 '|'의 오른쪽에 두 번째 자릿수들을 나열하여 어떤 값들이 들어 있는지 확인할 수 있습니다.

R 코드 및 출력

stem(trees$Volume)

  The decimal point is 1 digit(s) to the right of the |

  1 | 00066899
  2 | 00111234567
  3 | 24568
  4 | 3
  5 | 12568
  6 | 
  7 | 7

결과 해석

첫 번째 줄(1 | 00066899)을 예로 들면 '|'의 왼쪽이 1이므로 이 값들의 첫째 자리는 '1'이고, '|' 오른쪽에 숫자들은 둘째 자릿수가 무엇인지 알려줍니다. 0이 셋, 6이 둘, 8이 하나, 9가 둘이므로, 10이 셋, 16이 둘, 18이 하나, 19가 둘임을 알 수 있습니다.

줄기(stem) 숫자들의 범위를 변경하고 싶다면?

만약, 줄기(stem) 숫자들의 범위(range)를 변경하고 싶다면 scale 옵션을 활용하시면 됩니다.

stem(trees$Volume, scale = 0.5)

  The decimal point is 1 digit(s) to the right of the |

  0 | 00066899
  2 | 0011123456724568
  4 | 312568
  6 | 7
stem(trees$Volume, scale = 2)

  The decimal point is 1 digit(s) to the right of the |

  1 | 000
  1 | 66899
  2 | 00111234
  2 | 567
  3 | 24
  3 | 568
  4 | 3
  4 | 
  5 | 12
  5 | 568
  6 | 
  6 | 
  7 | 
  7 | 7

3. 마무리

이번 포스트에서는 R에서 줄기-잎 그림(Stem-and-Leaf plot)을 그리는 방법에 대해 소개하였습니다.
줄기-잎 그림은 히스토그램(Histogram) 차트을 그리고 실제 데이터 값의 분포를 확인하는 후속 작업으로 많이 사용됩니다. 추후 히스토그램에 대한 내용도 다루도록 하겠습니다.