욱이의 냉철한 공부

[R, 시각화, 패키지] googleVis 패키지 사용하여 구글 그래프 그리기 본문

데이터분석/R

[R, 시각화, 패키지] googleVis 패키지 사용하여 구글 그래프 그리기

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

 

* 우리가 R을 쓰는 이유 : 시각화, 통계 패키지를 비롯하여 수많은 패키지 + 다른 언어, 툴과 연결

https://warm-uk.tistory.com/64?category=810499 

 

[R, 정리] R의 특징과 장점, 사용이유

R은 제가 가장 자주, 잘 사용하는 툴이자 언어에요. 처음 데이터 공부를 R로 시작했기 때문에 그런 것일지도 모릅니다. Python을 자주 사용하면서 익히고 싶지만.. 아직 스몰데이터만 만져본 저에

warm-uk.tistory.com

 

* 구글 그래프

- 자바스크립 이용한 기술이다.

- 구글이 만든 무빙 그래프(설정에 의해서 움직이는 그래프) ,인터랙티브 그래프(마우스 움직임에 반응해 실시간으로 형태가 변하는 그래프)

- R은 수많은 언어와 화합할 수 있고, R을 이용하여 자바스크립 배우지 않고 자바스크립 그래프를 사용 할 수 있다.

- 그리는 것까지만 하고 확장 기능을 사용하기 위해서는 자바스크립을 배워야 한다. 가지고 사용만 한다면 R만 익히면 된다.

- 구글에서 chart 종류 확인한다. 아래 구글그래프 manual이다.

https://developers.google.com/chart/interactive/docs/gallery

 

Chart Gallery  |  Charts  |  Google Developers

Our gallery provides a variety of charts designed to address your data visualization needs. These charts are based on pure HTML5/SVG technology (adopting VML for old IE versions), so no plugins are required. All of them are interactive, and many are pannab

developers.google.com

 


=> googleVis 패키지를 설치한다.

 

 

1. gvisColumnChart(), gvisAreaChart()

- options는 리스트로 받아들이는 것을 주의한다.

- title인자는 제목, height, weight 인자는 각각 넓이, 높이이다.

gvisColumnchart() gvisAreaChart() 함수의 결과는 HTML로 작성된다. 그래서 변수로 저장하고 다른 그래 프함수(plot())로 부른다.

- 웹 페이지로 시각화 되는 것 을 확인 할 수 있다.

 

 

 

 

 

2. gvisGauge() - 계기판

- 본인이 공모전에 참여했을 때 시각화한 예시이다.

데이터 설명은 1보다 낮으면 부족, 많으면 포화라는 뜻이다.

숙박은 부족하고 식당은 과하게 많다.

 

- options는 리스트로 받아들이는 것을 주의한다.

- min, max, redFrom, FedTo 등등 인자로 원하는 값의 범위를 설정한다.

- 빨간 박스는 한글을 그래프에 표현하기 위해서 작성한 코딩이다.

한글이 깨지기 때문에 utf-8을 euc-kr로 바꿔야 한다.

gsub() 함수는 변환하는 함수이다.

 

 

 

 

 

4. gvisPieChart()

- R에 기본적으로 들어있는 데이터셋인 CityPopularity 데이터를 사용하겠다.

각 도시별 인구이다.

- options는 리스트로 받아들이는 것을 주의한다.

title인자는 제목, height, weight 인자는 각각 넓이, 높이이다.

- 자동으로 각 인구 비율을 계산하여 그래프를 그린다.

 

 

 

 

5. gvisMap()

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

- 구글 지도도 그릴 수 있다. ggmap에서 사용했던 데이터셋 지역별장애인도서관정보을 사용하겠다.

- 주의해야 할 점은 새로운 열 LATLON을 생성해야 한다.

gvisMap은 ggmap과 다르게 경도:위도 양식을 받아들인다.

그래서 paste0() 함수를 사용하여 경도:위도 양식의 열을 추가하였다.

반면 paste() 함수는 경도 : 위도 양식으로 강제 한 칸 띄어쓰기를 한다. 착각하면 안된다.

- enableScrollwheel, useMapTypeControl, mapType 인자들을 활용하여 지도 양식을 바꿀 수 있다.

- 웹 페이지로 해당 위치가 시각화 된 지도를 확인 할 수 있다.