R의 플로팅 시스템에 대해 배워보자! (출처: R내 swirl package)

2020. 2. 4. 00:48Data Science/Data Analytics

#

# swirl()내 탐색적 데이터 분석(Exploratory Data Course)를 실행해보자.

# 

 

library("swirl")

swirl()

 

Exploratory Graphs 과정에서 4번 플로팅 시스템(4. Plotting Systems)을 선택한다.

탐색적 분석 과정의 네번째 섹션: 플로팅 시스템(요약)
R 플로팅 시스템은 크게 3가지, '기본 시스템', 'Lattice 패키지', 'ggplot2 패키지'로 구현 가능하다.

 

 

1. 기본 플로팅 시스템

 

기본 플로팅 시스템은 'Artist's palette' 모델을 사용한다. 아무 것도 없는 데서 단계별로 그래프를 그려나간단 말이다. 장점은 매우 직관적이고 사용하기 쉽다는 것이고, 단점으로는 전에 그래프 단계로 돌아갈 수 없다. 

 

예) with(cars, plot(speed, dist)) # cars란 데이터에서 speed를 x축, dist 항목을 y축에 대해 그래프를 그린다.

예2) text(mean(cars$speed), max(cars$dist), "SWIRL rules!") # speed평균값, dist 최대값 위치에 "SWIRL rules!"를 출력한다.

 

 

2. Lattice 패키지 기반 플로팅 시스템

 

lattice란 패키지를 통해 구현하는 플로팅 시스템이다. xyplot나 bwplot로 한번에 그래프를 표현할 수 있다. x 값에 따른 y값이 z의 상태 변화에 따라 어떻게 변하는지 표현하거나, 많은 데이터를 표현할 때 유용하다. 단점으로는, 그래프를 함수로 표현하기 어려운 경우가 존재하고, 패널 함수나 서브스크립트을 사용하기 힘들거나, 한번 그려진 그래프에 추가하기 힘들다.

 

예1) xyplot(Life.Exp ~ Income | region, data=state, layout=c(4,1)) # state 데이터에 대해, income이 Life.Exp에 어떤 영향을 미치는지, region별로 보여준다. 그래프는 4개의 항목을 하나의 행에 보여준다.

예2) xyplot(Life.Exp ~ Income | region, data=state, layout=c(2,2)) #레이아웃을 2 x 2로 바꿔서 표현해보자.

 

3. ggplot2 패키지 기반 플로팅 시스템

 

ggplot2 패키지 기반 플로팅 시스템은 lattice처럼 한번에 그래프를 표현할 수 있으면서도, 기본 플로팅 시스템과 같이 그래프에 추가 작업을 할 수 있다. 패키지는 'grammar of graphic' 기반(gg 이름 출처)하며, lattice와 유사하지만, 일반적으로 더 쉽고 직관적으로 그래프를 표현할 수 있다. 

 

예) qplot(displ, hwy, data =mpg) # mpg 데이터의 엔진 배치가 고속도로 가스 마일리지에 어떤 영향을 미치는지 보여준다.