[R] 연습

[R] 시각화(ggplot 패키지편)

Simon Yoon 2022. 1. 23. 22:42

ggplot 패키지 시각화에 아주 많이 활용되는 패키지로 좀 더 고품질의 그래픽을 활용하고자 한다면 필수적으로 알아두어야 한다. ggplot의 gg는 Grammar of Graphics(그래픽 문법)라는 의미로, 플롯팅 이론과 표기 체계를 규정하여 모든 그래프를 작성할 수 있다는 아이디어에서 착안하였다.

 

이번 포스팅에서는 ggplot으로 가장 기본적인 플롯인 산점도(scatter plot), 히스토그램, 막대그래프, 선 그래프, 상자 수염(boxplot)에 대해서 다루고 다음 포스팅에서 ggplot을 활용한 좀 더 다양한 형태의 그래프를 그려보는 연습을 할 것이다.

 

ggplot은 기본적으로 다음과 같이 구성되어 있다.

구성요소 설명
데이터(Data) 시각화 하고자 하는 데이터
미적 요소(Aesthetics) 축, 색상, 모양, 크기등 그래프의 미학적/시각적 속성
기하학적 객체(Geometries) 데이터를 표현하는 도형/형태
점, 선, 막대, 박스플롯 등
Faceting small multiples

따라서 아래와 같은 기본적인 문법 구성이 이루어진다.

ggplot(data, aes( )) + geom_함수( )
# 혹은
ggplot( ) + geom_함수(data, aes( ))

 

1. geom_point 함수

geom_point 함수는 산점도를 그릴 수 있고, 기본 문법 형식으로만 작성하면 된다.

library(ggplot2)
ggplot(culture.df, aes(x = 음악.및.무용발표회.관람,
                       y = 전통예술공연.관람,)) + geom_point(color='darkblue')

geom_point 함수 예시

 

2. geom_histogram 함수

geom_histogram 함수는 히스토그램을 그릴 수 있고, 기본 문법 형식만 지키면 된다.

# histogram
ggplot(culture.df, aes(x = 스포츠경기.관람)) +
  geom_histogram(binwidth = 5000)
  
# 참고용 quick plot
qplot(data = culture.df, x = 스포츠경기.관람, geom="histogram",
      binwidth = 5000)

geom_histogram 함수 예시

 

3. geom_bar 함수

geom_bar 함수는 막대그래프를 그릴 수 있다.

# bar
ggplot(diamonds, aes(color)) + geom_bar()

geom_bar 함수 예시

 

4. geom_line 함수

geom_line 함수는 선 그래프를 그릴 수 있다.

ggplot(amtrak.df, aes(x = Month, y = Ridership, group = 12))
+ geom_line()

geom_line 함수 예시

 

5. geom_boxplot 함수

geom_boxplot 함수는 상자 수염 그래프(박스플롯)을 그릴 수 있다.

ggplot(data = loan, aes(x = grade, y = int_rate, group = grade)) + geom_boxplot()

geom_boxplot 함수 예시

 

여기까지 R에서 ggplot 패키지의 시각화 함수 사용을 연습해보았다.

추가로 ggplot2에서 제공하는 치트시트(cheatsheets)가 있어서 공유하고자 한다.

https://github.com/rstudio/cheatsheets/blob/main/data-visualization-2.1.pdf

 

'[R] 연습' 카테고리의 다른 글

R 기초 프로그래밍  (0) 2022.04.15
[R] 지터링(jitter)  (0) 2022.02.06
[R] 시각화(graphics 패키지편)  (0) 2022.01.22
[R] 기초 문법 4  (0) 2022.01.16
[R] 기초 문법 3  (0) 2022.01.15