close_btn
조회 수 56858 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print Files
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print Files

이번에는 위도 경도 데이터를 어떻게 시각화 시킬것인지에 대하여 알려드리도록 할게요 : )


R에서는 ggmap, ggplot, googlevis 등의 패키지를 통하여 지역데이터를 시각화 시킬수 있습니다.


일단 첨부해 드린 예제 데이터를 다운 받은후 R에서 데이터를 Import시키세요.


(import시키는 법은 모두 아시리라 생각합니다. 모르시는 분은 R강의 기초편을 참고 해 주세요!)


이 예제 데이터는 제가 임의로 만든 데이터 입니다.


sam.csv


데이터는 아래와 같은 형태를 띄고 있습니다. 


특정 사람의 이동경로와 시간, 위도, 경도, 한글지명등을 포함하고 있는 데이터 프레임 입니다.


ㅁ.jpg



다음으로 필요한 패키지인 ggplot2와 ggmap을 설치하고 라이브러리를 호출 해 주세요


install.packages("ggmap")

install.packages("ggplot2")

library(ggplot2)
library(ggmap)
df3 <- read.csv("sam.csv",header=TRUE)


현재 df3에 데이터가 들어가 있습니다.


R에서는 구글을 통해 원하는 도시의 위도와 경도를 받아올 수 있는데요.


아래와 같은 코드로 해당 도시의 위도 경도를 받아 올 수 있습니다.


 gc <- geocode('Seoul')

cen <- as.numeric(gc)


geocode 라는 함수를 통해 위도, 위도 경도를 받아 왔고, 이를 수치형 벡터로 만들어 준다음 cen라는 변수에 넣었습니다.


현재 center안에는 seoul 중심부의 위도 경도인 126.97797  37.56654 가 들어가 있습니다.


일단 R 에서 Seoul의 지도를 한번 확인 해 봅시다.


 ggmap(get_googlemap(center=cen, scale = 1,maptype = "roadmap",zoom=7), fullpage = TRUE)


center 옵션에는 지도의 중심부를 나타내 줄 위도 경도가 들어가 수치형 벡터가 필요합니다. 


그래서 위 에서 cen이라는 변수에 서울의 위도,경도를 넣었습니다. scale과 zoom은 지도의 크기를 조절해주는 옵션입니다.


maptype은 roadmap말고도 여러 옵션을 지정해 줄 수 있습니다.



a.jpg



maptype = "hybrid" 인 경우


b.jpg



maptype = "satellite" 인 경우


b2.jpg


maptype 대신에


source = "osm" 을 지정해준 경우


b3.jpg



여러 맵 타입중에서도 roadmap이 가장 이뻐서(?) roadmap을 사용하는게 좋지 않을 까 싶습니다.



이제 데이터안에 있는 각 로그에 대하여 점을 찍어보도록 하겠습니다.


 ggmap(get_googlemap(center=center, scale = 1,maptype = "roadmap",zoom=8), fullpage = TRUE) +

   geom_point(aes(x = longitude, y = latitude, colour = "red" , size= 10), data = df3) 


점찍는 것 외에도 여러가지 함수(옵션)를 더 추가 할 수 있는데, 각 함수 마다 + 로 연결 해주 셔야합니다.


위 코드에 보면 ggmap( ~ ) + geom_point 로 되어있는 것을 보실 수 있습니다. 


geom_point를 통해서 로그의 점을 지도에 찍을 수 있는데. x에는 longitude 를 나타내는 데이터프레임의 칼럼명,

 

y에는 latitude 를 나타내는 데이터프레임의 칼럼명이 들어가야합니다.


현재 데이터 프레임의 위도 경도가 longitude, latitude 로 설정 되어 있기 때문에, 코드에 저렇게 들어가게 되는데


만일, 데이터프레임의 칼럼명이 lon, lat 일 경우에는 코드를 aes(x = lon, y = lat) 으로 고쳐주셔야합니다.


그리고 마지막에 data = df3 에는 해당 데이터프레임의 이름을 넣어주어야 합니다.


c.jpg



 




List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 데이터시각화 강의 게시판 이용관련 공지사항 DataMarket 2014.05.21 72046
42 [Tableau] 타블로 기본 예제 1 file sh707 2015.05.19 51826
41 [BigData -Visualization for R] google map 3 file DataMarket 2014.06.30 50908
40 [BigData -Visualization for R] google map 2 1 file DataMarket 2014.06.28 50909
» [BigData -Visualization for R] google map 1 file DataMarket 2014.06.27 56858
38 [BigData -Visualization for R] TablePlot file DataMarket 2014.06.25 49944
37 [BigData -Visualization for R] Tree Map 그리기 9(label에 대한 여러가지 옵션) file DataMarket 2014.06.23 50154
36 [BigData -Visualization for R] Tree Map 그리기 8(type = manual) file DataMarket 2014.06.23 51402
35 [BigData -Visualization for R] Tree Map 그리기 7(type =color) file DataMarket 2014.06.19 50510
34 [BigData -Visualization for R] Tree Map 그리기 6(type =depth, categorical) file DataMarket 2014.06.19 50059
33 [BigData -Visualization for R] Tree Map 그리기 5(type =Dense) DataMarket 2014.05.21 44062
32 [BigData -Visualization for R] Tree Map 그리기 4(type =comp) DataMarket 2014.05.21 44192
31 [BigData -Visualization for R] Tree Map 그리기 3(type = index or value) DataMarket 2014.05.21 43860
30 [BigData -Visualization for R] Tree Map 그리기 2(index옵션) DataMarket 2014.05.21 47820
29 [BigData -Visualization for R] Tree Map 그리기 1 DataMarket 2014.05.21 53891
28 [BigData -Visualization for R] Tree graph(마인드맵) 그리기 DataMarket 2014.05.21 51572
27 자신만의 워드 클라우드를 디자인 해보자 DataMarket 2014.05.21 70711
26 Gephi를 통해 Facebook네트워크망 만들기 1 DataMarket 2014.05.21 64493
25 [BigData -Visualization for R] ] Panel그려서 여러 그래프 띄우기(panes) DataMarket 2014.05.21 48252
24 [BigData -Visualization for R] ehplot 그리기 DataMarket 2014.05.21 45599
Board Pagination ‹ Prev 1 2 ... 3 Next ›
/ 3

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5