close_btn
조회 수 50909 추천 수 1 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print Files
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print Files

오늘은 로그 데이터를 시간별로 지도에 시각화 함으로써


이동경로(Path)를 그려보도록 하겠습니다.


이전에 사용했던 데이터를 그대록 사용 하도록 하죠 : )


데이터를 다시 봐보면


현재 df3에는 아래와 같은 데이터가 들어가 있습니다.


> head(df3)

  latitude longitude     date id time country_code                                          address

1 35.10196  129.0353 20131210  a 1540         중국         대한민국 부산광역시 중구 중앙동2가 49-35

2 37.44705  126.4477 20131205  a 1530         중국 대한민국 인천광역시 중구 영종해안남로321번길 131

3 37.57003  126.9813 20131204  a 1122         중국          대한민국 서울특별시 종로구 지봉로8길 54

4 37.57004  126.9813 20131205  a  825         중국          대한민국 서울특별시 종로구 종로1가 63-1

5 37.44705  126.4477 20140224  b 1551         미국 대한민국 인천광역시 중구 영종해안남로321번길 131

6 37.44706  126.4480 20140225  b 1319         미국 대한민국 인천광역시 중구 영종해안남로321번길 131


ggmap에서 path를 그리게 되면 무조건 로그의 위 부터 아래로 path가 그려집니다.


다시말해, path를 그리기 위해서는 데이터프레임을 시간순(오름차순)으로 정렬을 해야 합니다.


시간을 오름차순으로 정렬해주기 위해 order함수를 사용하도록 하겠습니다.


 df3<-df3[order(df3$date,df3$time),] 


order(df3$date,df3$time) 에는 

[1]  3  4  2  1 22 29 30 33 32 31 27 26 28 24 25 23 17 18 19 21 20 16  8 13 10  9  7 15 14 11 12  5  6

가 들어가 있는데 데이터프레임의 각행의 날짜, 시간순위가 들어가 있습니다.


다시말해, df3의 첫번째 행은 전체 3번째시간이고, 두번째행은 4번째, 세번째행은 2번째 시간을 의미합니다.


이 번호들을 df3[여기,] 에 넣어 줌으로써, 각 행의 위치를 시간순으로 조절하게 됩니다.


자세한 내용은 R강의 기초를 참고 해주세요 : )


df3를 다시 확인해보면 시간순으로  정렬된 것을 확인 하실 수 있습니다.


혹시 id가 뒤죽 박죽 섞인다면, df3[order(df3$id,df3$date,df3$time),]  id 정렬기준을 추가 해주세요!


> df3[order(df3$date,df3$time),]

   latitude longitude     date id time country_code                                          address

3  37.57003  126.9813 20131204  a 1122         중국          대한민국 서울특별시 종로구 지봉로8길 54

4  37.57004  126.9813 20131205  a  825         중국          대한민국 서울특별시 종로구 종로1가 63-1

2  37.44705  126.4477 20131205  a 1530         중국 대한민국 인천광역시 중구 영종해안남로321번길 131

1  35.10196  129.0353 20131210  a 1540         중국         대한민국 부산광역시 중구 중앙동2가 49-35

22 37.43881  126.4619 20140203  d 2125         일본           대한민국 인천광역시 중구 운서동 2850-6

29 37.88095  127.7274 20140204  d 1416         일본               대한민국 강원도 춘천시 소양동 18-8

30 38.13806  128.2497 20140204  d 1757         일본          대한민국 강원도 인제군 북면 한계리 1270

33 38.19835  128.5302 20140204  d 1833         일본         대한민국 강원도 속초시 바람꽃마을길 51-8

32 38.18799  128.6002 20140204  d 2129         일본          대한민국 서울특별시 종로구 지봉로8길 54

31 38.16605  128.5312 20140205  d  813         일본                대한민국 강원도 속초시 설악동 304

27 37.69227  127.8962 20140205  d 1209         일본          대한민국 서울특별시 종로구 지봉로8길 54

26 37.61578  127.6727 20140205  d 1244         일본        대한민국 강원도 홍천군 서면 굴업리 383-13

28 37.72819  127.6991 20140206  d  820         일본          대한민국 서울특별시 종로구 지봉로8길 54

24 37.52529  127.0272 20140206  d  918         일본       대한민국 서울특별시 강남구 압구정로28길 22

25 37.56477  127.0068 20140206  d 2116         일본         대한민국 서울특별시 중구 광희동1가 193-8

23 37.44705  126.4477 20140207  d 1847         일본 대한민국 인천광역시 중구 영종해안남로321번길 131

17 37.25086  126.9828 20140212  c 1626         중국        대한민국 경기도 수원시 권선구 고색동 48-1

18 37.25086  126.9828 20140214  c 1108         중국        대한민국 경기도 수원시 권선구 고색동 48-1

19 37.25086  126.9828 20140217  c 1125         중국        대한민국 경기도 수원시 권선구 고색동 48-1

21 37.28556  126.9686 20140217  c 2130         중국          대한민국 서울특별시 종로구 지봉로8길 54

20 37.25086  126.9828 20140218  c  959         중국        대한민국 경기도 수원시 권선구 고색동 48-1

16 37.25086  126.9828 20140219  c 1343         중국        대한민국 경기도 수원시 권선구 고색동 48-1

8  37.55672  127.0486 20140220  b 1246         미국          대한민국 서울특별시 성동구 사근동 115-8

13 37.56336  126.9845 20140220  b 1718         미국           대한민국 서울특별시 중구 명동2가 50-17

10 37.56104  126.9944 20140220  b 1938         미국          대한민국 서울특별시 종로구 지봉로8길 54

9  37.56104  126.9944 20140221  b  908         미국          대한민국 서울특별시 종로구 지봉로8길 54

7  37.52364  127.0470 20140221  b 1443         미국            대한민국 서울특별시 강남구 청담동 6-4

15 37.56506  126.9828 20140221  b 2016         미국         대한민국 서울특별시 중구 남대문로2가 5-3

14 37.56359  126.9846 20140222  b 1204         미국               대한민국 서울특별시 중구 명동길 42

11 37.56104  126.9944 20140223  b   20         미국          대한민국 서울특별시 종로구 지봉로8길 54

12 37.56336  126.9845 20140223  b 1631         미국           대한민국 서울특별시 중구 명동2가 50-17

5  37.44705  126.4477 20140224  b 1551         미국 대한민국 인천광역시 중구 영종해안남로321번길 131

6  37.44706  126.4480 20140225  b 1319         미국 대한민국 인천광역시 중구 영종해안남로321번길 131



이제 path를 그려보도록 합시다 !!


gc <- geocode('Seoul')

center <- as.numeric(gc)

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

  geom_path(aes(x = longitude, y = latitude), data = df3, colour = as.factor(df3$id), alpha = .9, size = .9)+

  geom_text(hjust=3,aes(x = longitude, y = latitude, label = df3$id, colour = "black"), size = 6, data =df3)+

  geom_point(aes(x = longitude, y = latitude, size = df3$id, colour = as.factor(df3$id)), data = df3) 


기존에 사용했던 함수에

geom_path(aes(x = longitude, y = latitude), data = df3, colour = as.factor(df3$id), alpha = .9, size = .9) 와 

geom_text(hjust=3,aes(x = longitude, y = latitude, label = df3$id, colour = "black"), size = 6, data =df3) 만

추가 하였습니다. 


color는  as.factor(df3$id) 를 통해 색상별로 다른 선과 점이 찍히 도록 하였습니다.


결과는 아래와 같습니다. 



g.jpg


사실 이 로그 데이터의 경우에는 모든 ID가 다 들어가 있기 때문에, 큰 의미는 없습니다.


path를 그릴 때에는 각 ID별로 데이터프레임을 추출해서 시각화 시켜야하는 단점 이 있습니다.

(혹시 id별로 짤라서 한번에 모든 id의 경로를 ggmap에 그릴 수 있는 법 아시는 분 댓글 달아주세요 ~)


df3 <- df3[df3$id == unique(df3$id)[1], ]


으로 할경우, 유니크한 아이디 벡터의 첫번째 아이디에 해당하는 로그데이터를 df3에 넣을 수 있습니다.



i2.jpg





List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 데이터시각화 강의 게시판 이용관련 공지사항 DataMarket 2014.05.21 72046
42 [Tableau] 타블로 기본 예제 1 file sh707 2015.05.19 51826
» [BigData -Visualization for R] google map 3 file DataMarket 2014.06.30 50909
40 [BigData -Visualization for R] google map 2 1 file DataMarket 2014.06.28 50909
39 [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 47821
29 [BigData -Visualization for R] Tree Map 그리기 1 DataMarket 2014.05.21 53892
28 [BigData -Visualization for R] Tree graph(마인드맵) 그리기 DataMarket 2014.05.21 51573
27 자신만의 워드 클라우드를 디자인 해보자 DataMarket 2014.05.21 70711
26 Gephi를 통해 Facebook네트워크망 만들기 1 DataMarket 2014.05.21 64494
25 [BigData -Visualization for R] ] Panel그려서 여러 그래프 띄우기(panes) DataMarket 2014.05.21 48253
24 [BigData -Visualization for R] ehplot 그리기 DataMarket 2014.05.21 45600
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