컴퓨터/R 공부

[혼공학습단 10기] 혼자 공부하는 R 데이터 분석 Chapter 06

방구석의 개굴이 2023. 8. 20. 23:24

 

Chapter 06 데이터 시각화 : ggplot2 패키지

06-1 그래프 그리기
  • 데이터 시각화
  • 복잡해보이는 수치 데이터를 이미지화하여 누구나 쉽게 내용을 이해할 수 있도록 시각적으로 전달하는 것
  • ggplot 패키지 : reshape2 패키지, dplyr 패키지를 만든 해들리 위컴이 만든 R 시각화 1순위 패키지 :: ggplot() 함수를 이용하여 그래프 틀을 만들고, 그 안에 다양한 이미지 객체 레이어를 계속 포개는 방식으로 그래프를 표현함
  • 그래프 기본 틀 만들기 : ggplot() 함수
ggplot(데이터 세트, aes(데이터 속성))
시각화의 3 요소
1. 데이터
(Data)

2. 시각적 맵핑
(Aesthetic mapping)

맵핑(mapping)
: 어떤 시각적 특성을 사용할 것인가?
x, y, + facet_grid(y ~ x) 그리고 + fact_wrap(~g)
color, fill
shape
size
alpha : 여러 기하적 대상(. )이 겹칠 때 유용하다.
스케일(scale)
: 어떻게 맵핑할 것인가?

x, y : scale_x_log10(), scale_x_reverse(), scale_x_sqrt()
이산형 : color, fill
scale_fill_brewer(palette= )
scale_fill_grey(start= , end= , na.value= )
연속형 : color, fill
scale_fill_distiller(palette= )
scale_fill_gradient(low= , high= )
scale_fill_gradient(low= , high= , mid= , midpoint= )
scale_fill_gradientn(colours= )
그 밖에
scale_*_manual(values= )
scale_*_date(date_labels="%m/%d")
scale_*_datetime()
3. 기하학적 대상
(Geoms)

ggplot 함수는 '틀'을 만든다.
 
  • 산점도 그리기 : geom_point() 함수
ggplot(데이터 세트, aes(x=?, y=?)) + geom_point()

geom_point 함수는 점을 찍는다

 
 
  • 선 그래프 그리기 : geom_line() 함수
ggplot(데이터 세트, aes(x=?, y=?)) + geom_line()

geom_line() 함수는 점을 이어 선을 만든다
 
  • 막대 그래프 그리기 : geom_bar() 함수
ggplot(데이터 세트, aes(x=?)) + geom_bar()

x 축에 표시되는 cyl 범주는 비어있는 범주를 포함해도 되므로 factor() 함수를 꼭 사용하지 않아도 되지만 누적할 gear 변수는 값이 비어있는 범주가 생기면 누적이 제대로 표현되지 않아 반드시 factor() 함수를 사용해야 한다.
*선버스트 차트(sunburst chart) : 계층 구조의 데이터를 수준별로 비율을 표시하는 그래프
 

 

*theta 값에 따라 돌아가는게 변하도록 설정 --> 가운데가 비어있는 도넛모양 선버스트 차트가 그려진다.
 
  • 상자 그림 그리기 : geom_boxplot() 함수
ggplot(데이터 세트, aes(x=?, y=?), group =?) + geom_boxplot()

geom_boxplot() 함수는 group 옵션으로 상자 그림을 그릴 변수를 지정해주어야 한다
 
  • 히스토그램 그리기 : geom_histogram() 함수
ggplot(데이터 세트, aes()) + geom_histogram()

geom_histogram() 함수는 aes 인자가 하나만 필요하다

 

더 알아보기

 

 
06-2 그래프에 객체 추가하기

 

*Date[] : 년월일 순서의 날짜 형식 데이터 (변수 유형을 함수로 지정할 때는 as.Date(“?”) 함수 사용)

 

  • 사선 그리기; geom_abline() 함수
geom_abline(intercept = 절편, slope = 기울기)

*intercept와 slope의 값은 회귀분석을 통해 얻을 수 있다.

  • 평행선 그리기 : geom_hline 함수
geom_hline(yintercept = y절편)

*mean 함수를 사용한 의미 : 평균을 기준으로 y의 변동 추이를 파악할 수 있다.

 
  • 수직선 그리기 : geom_vline() 함수
geom_vline(xintercept = x절편)

*filter() : dplyr 패키지에 들어있는 행(개체) 찾는 함수 *pavert : 개인저축률 변수

 

그려진 수직선의 x절편은 psavert 변수가 min 값일 때의 데이터의 psavert 값과 같다.

  • 레이블 입력하기 : geom_text() 함수
geom_text(aes(label = 레이블, vjust = 세로 위치, hjust = 가로 위치)

 

*label 옵션 : 점마다 레이블을 붙일 인자 지정

 
  • 도형 및 화살표 넣기 : annotate() 함수
annotate(“모양”, xmin = x축 시작, xmax = x축 끝, ymin = y축 시작, ymax = y축 끝)

*“rect” : 사각형 *alpha 옵션 : 투명도 조절 (0.1에서 1사이의 값, 1에 가까울수록 불투명해짐) *fill 옵션 : 채우기 색상 지정

*segment : 선(line) *arrow() 옵션 설정 필요 **2차원 도형을 그릴 때 (xmax, xmin, ymax, ymin) vs. 선을 그릴 때 (xend, x, y, yend)
*“text” : 텍스트 상자 도형 입력 *x와 y의 위치 값과 표시할 내용만 입력
 

그래프와 축에 제목 추가하고 디자인 테마 적용하기

  • 그래프 제목 및 축 제목 추가하기 : labs() 함수
labs(x = “x축명”, y = “y축명”, title = “그래프 제목”)
  • 디자인 테마 적용하기 : theme() 함수

절편과 기울기 구하기 : 회귀분석

  • 상관분석(correlation analysis) : cor.test() 함수
cor.test(테이블명$변수명1, 테이블명$변수명2)
 

t : 기술통계량 df: 자유도 (degree of freedom) p-value : 유의 확률 alternative hypothesis : 대립가설 (H1) 95 percent confidence interval : 95% 신뢰구간 cor : Pearson 상관계수

  • 회귀분석(regression analysis) : lm() 함수
lm(종속변수 ~ 독립변수, data = 데이터 세트)
intercept : y절편  Y20_CNT : Y20_CNT에 대한 회귀계수
 

 
06-3 지도 시각화 : ggmap 패키지

 

  • 위치 데이터를 시각화하는 지도 시각화는 지도 위에 직접 데이터를 표시할 수 있어 위치를 쉽게 파악할 수 있다.
  • 구글 지도 API에서 발급받은 API 키를 사용하면 R 스튜디오에 구글 지도를 가져올 수 있다.
  • ggmap 패키지는 지도 시각화를 위한 패키지로 구글 지도를 활용할 수 있는 여러 함수를 포함한다.
함수 기능
ggmap 패키지 register_google() 구글 지도 API 키를 등록합니다.
get_googlemap() 위치 데이터로 구글 지도를 가져옵니다.
ggmap() 위치 데이터를 구글 지도로 시각화합니다.
geocode() 위치를 포함하는 문자열(지명 혹은 주소)을 위도와 경도 값으로 반환합니다.
  • 지명을 중심으로 불러오기 : get_google(“center”, ~)
ggmap()

*get_googlemap(“center”, ~) 에서 center는 지도의 중심이 되는 위치 (지명 등)

  • 지도에 점찍기 : ggmap() + geom_point()
geocode()

get_googlemap() = 지도 불러오기, ggmap() = 지도 그리기, geom_point() = 점 찍기

 

 

혼공 미션
  • 기본 미션 : p288의 <좀 더 알아보기> 실습하고 결과 화면 캡쳐하기

  • 선택 미션 : 구글 API와 ggmap 패키지를 활용해서 원하는 장소의 지도를 불러온 후 결과 화면 인증하기

정리본 PDF

Chapter 06 데이터 시각화 - ggplot2 패키지.pdf
0.94MB