욱이의 냉철한 공부

[R, 시각화, 패키지] ggmap 패키지 사용하여 지도 그리기(R까기) 본문

데이터분석/R

[R, 시각화, 패키지] ggmap 패키지 사용하여 지도 그리기(R까기)

냉철한 욱 2021. 6. 28. 06:23

 

제가 블로그에 올리는 R 내용은

 

제가 학교 수업, 국비 수업, 책, 구글링, 프로젝트를 통해 습득했던 내용을 요약 정리해서

 

웬만하면 다른 데이터에 적용해서 포스팅 하고 있어요.

(현재 기준으로 아직 워드클라우드, 데이터마이닝 패키지들, 구글그래프, 텍스트클러스터링, shiny 등등 .. 포스팅 할 것이 많네용 )

 

ggmap 패키지는 책 R까기의 내용을 실행하는 것을 올리도록 할께요~!

 

개인적으로 책으로 R에 입문할 때, (R 관련 책을 많이 읽어 본 건 아니지만...)

 

R까기, R까기2 가 가장 좋은 책 같아요.

 

R까기는 시각화 위주로 나왔고,

 

R까기2는 R에서 기본적으로 사용할 수 있는 데이터 처리, 시각화, 통계적인 부분 이해하기 쉽게 쓰여진 책이에요

 


 

1. 지도 그리는 ggmap패키지 사용하기.

* ggmap 패키지로 무엇을 하나?

- 구글에서 지도 등을 가져와 스크린에 뿌려준다.

- 우리는 찍고 싶은 장소의 점을 찍어준다. 그렇기 때문에 좌표 값(경도, 위도)을 얻어야 한다.

- 좌표 값을 어떻게 얻나? : 구글 지도에 좌표값 나온다.

 

 

* 코딩 설명

1) ggmap 패키지 설치하고 활성화한다.

 

2) read.csv() 함수로 해당 데이터셋을 R로 가져온다.

지역별장애인도서관정보.csv
0.00MB

 

3) get_map() 함수

get_map() 함수는 지도를 얻는 함수이다.

후에 ggmap()함수에 get_map()함수로 얻은 객체를 입력해야 지도가 활성화 된다.

- "seoul"은 표현 될 지도의 중심이다. 구글 지도에 입력되는 영어지역명은 대부분 사용 가능할 것이다.

zoom 인자는 확대 축소이다.

maptype 인자는 지도의 유형이다. 여러가지 지도 유형이 가능하다. 아래 자세히 나와있다.

 

4) ggmap() 함수

- ggmap() 함수는 get_map()함수로 얻은 객체를 입력해서 지도를 활성화 시킨다.

 

5) geom_point() 함수

- geom_() 함수는 본인이 원하는 것을 지도 위에 그린다.

geom_point() 함수는 점을 그릴 것이다.

- 미학요소(aes)의 좌표(x,y)에 경도, 위도를 차례로 입력하여 그릴 위치를 정한다.

color는 그릴 점의 색깔이다.

color가 미학요소이면 자동으로 변수값에 따라 색이 달라진다.

위에서는 color가 미학요소 밖이기 때문에 수동으로 전체 점 색이 blue가 될 것이다.

size는 전체 점의 크기이며, alpha는 전체 점의 투명도이다.

 

6) geom_text() 함수

- geom_() 함수는 본인이 원하는 것을 지도 위에 그린다.

geom_text() 함수는 글을 그릴 것이다.

미학요소(aes) 좌표(x,y)에 경도, 위도를 차례로 입력하여 그릴 위치를 정한다.

다만 y같은 경우에는 geom_point()와 똑같이 그리면 겹쳐지기 때문에 위로 0.01만큼 올렸다.

즉 점보다 약간 위에 글이 그려질 것이다.

- label은 무엇을 그릴지 설정하는 것이다. 데이터셋의 자치구명을 그릴 것이다.

- size인자는 전체 그릴 것의 크기이다.

 

7) 코딩이 길어지고 차례대로 알아보기 힘들기 때문에 차례대로 변수(kor,kor.map)에 저장하면서 객체로 만들어 그림을 그렸다.

-> 1번째 그래프가 본 그래프이다. 2번째는 geom_point() 함수에서 미학요소(aes)에 color인자에 자치구명을 설정했을 경우이다.

 

 

 

 

2. get_map() 함수 - maptype인자

 

* 사용 데이터 셋

지역별인구현황_2014_4월기준.csv
0.00MB

- maptype 인자를 차례대로 roadmap, terrain, satellite, hybrid로 변경하였다.

- geom_point() 함수에서 미학요소로 총인구수에 따라 색이 변하고,

총인구수에 따라 점의 크기가 변하도록 설정하였다.

 

 

 

 

 

 

3. get_path() 함수

 

* 사용 데이터 셋

서울지하철3호선역위경도정보.csv
0.00MB

- geom_point() 함수를 사용하여 빨간 점을 그리도록 설정하였다.

- geom_path() 함수를 사용하여 점들을 연결하도록 설정하였다.

size 인자는 선 크기 설정이다.

linetype 인자는 선 종류 설정이다. 2는 점선이 되겠다.

col 인자는 선의 색 설정이다. 파랑색으로 설정하였다.

- geom_text() 함수를 사용하여 글을 그리도록 설정하였다.

미학요소 좌표설정에 y를 LAT보다 0.005 위에 설정하도록 하여 점과 겹치지 않도록 하였다.

label을 역명으로 설정하여 그릴 글을 설정하였다.

size 인자는 글의 크기 설정이다.