9 ggplot 문법
데이터 시각화는 1) 데이터 세트로 부터, 2) 변수를 표현하기 위한, 3) 심미적 요소를 취하는, 4) 기하학적 형태로 구성됩니다.
ggplot2
패키지는 Hadley Wickham이 Journal of Computational and Graphical Statistics 학술지에 2010에 발표한 “A Layered Grammar of Graphics” 논문을 통해서 R을 이용하여 그래프를 편하고 이쁘게 그릴 수 있는 방법으로 소개되었으며,1 오늘날 R의 시각화 패키지의 핵심 패키지 중의 하나입니다. 대부분의 R 기반의 시각화는 모두 이 패키지를 기준으로 설명하고 있습니다.
ggplot2
패키지는 Hadley Wickham이 ‘Grammer of Graphics’(그래픽의 문법) 방법론을 R의 그리드 그래프 시스템에 적용하여 만든 패키지로서, ggplot2
라는 패키지 이름은 ’Grammers of Graphics’의 ’gg’와 R의 기본 그래프 함수인 plot()
의 ’plot’을, 그리고 뒤의 ’2’는 두번째 버전을 의미하는 것 으로 보고 있습니다.2
‘Grammer of Graphics’는 데이터를 각 ’geometric object’(기하 객체)의 aesthetic attributes
(심미적 속성)에 매핑하는 방법을 제공합니다. 이를 통해 통계적인 시각화를 효과적으로 수행하고 하고, 또 필요시 통계적 데이터 변환까지도 가능합니다. 패시팅(faceting) 기법을 사용하여 복잡한 데이터를 부분 데이터만 사용하여 분할해서 시각화할 수도 있게 해 줍니다.
Base Graphics
패키지에서 그래프를 그리는 것은 화가가 그림을 그리는 것처럼 칠한 것 위에 덧 칠해서 먼저 그린 것이 가려지는 효과를 가지게 되는 반면, ggplot2
의 Grammer of Graphics는 간단한 코드를 추가하거나 삭제하면서 그래프를 쉽고 편하게 그릴 수 있도록 해주고 있다는 점에서 서로 비교가 됩니다.
ggplot2
의 기본 템플릿은 다음과 같이 ggplot2
Cheat Sheet에 잘 정리되어 있습니다.
ggplot2
로 그래프를 그리기 위해서는 위의 템플릿에서 오른 쪽에 ‘required’라고 적혀진 ggplot()
과 <GEOM_FUNCTION>
부분은 필수적인 부분입니다. 나머지 아래 부분은 그래프를 더 세부적으로 조작하기 위한 부분입니다.
필수 부분이 아닌 항목에 대해서는 ggplot2
에서 초기 설정값이 정해져 있어, 작업자가 별도로 명기를 하지 않아도 그래프가 그려지긴 하지만 이를 잘 이용하면 원하는 그래프를 쉽게 작성할 수 있습니다.
각각의 항목들은 괄호 처리되며, 다른 항목들과는 +
로 연결되고 있습니다.