코딩 연습장/R

Python/JSP/R 이용한 맛집 프로젝트 - 10 (R 이용한 시각화)

Do아 2021. 6. 19. 23:20
728x90

2021/04/14(수)

 

 

 

 

JSP 지역별 지도화면

https://cordingdoah.tistory.com/105

 

Python/JSP/R 이용한 맛집 프로젝트 - 9 (JSP 지역별 지도화면)

2021/04/14(수) JSP 마이페이지 알고리즘 참조 https://cordingdoah.tistory.com/104 Python/JSP/R 이용한 맛집 프로젝트 - 8 (JSP 마이 페이지) 2021/04/14(수) JSP 회원가입 알고리즘 참조 https://cordingdoah...

cordingdoah.tistory.com

 

 

 

 

서울지역의 지역별 음식점 수와 인구수를 가지고 있는 데이터를 찾아옴

지역의 id값을 넣어주고 csv파일 생성

 

<R 지도시각화 코딩>

#지역 시각화
#서울
install.packages("ggmap")
install.packages("ggplot2")
install.packages("raster")
install.packages("rgeos")
install.packages("maptools")
install.packages("rgdal")
library(ggmap)
library(ggplot2)
library(raster)
library(rgeos)
library(maptools)
library(rgdal)
register_google(key = "구글 API키 필요")
P <- read.csv("seoultot.csv", header = TRUE) #시각화할 데이터셋
P$rate <- P$Peple/P$Store
View(p)
map <- shapefile("TL_SCCO_SIG.shp") #지리 정보 데이터셋
map <- spTransform(map, CRSobj = CRS('+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs'))
new_map <- fortify(map, region = 'SIG_CD')
View(new_map)
new_map$id <- as.numeric(new_map$id)
seoul_map <- new_map[new_map$id <= 11740,]
P_merge <- merge(seoul_map, P, by='id')
q<-ggplot() + geom_polygon(data = P_merge, aes(x=long, y=lat, group=group ,fill = rate))+labs(fill="서울특별시 인구수대비 음식점 비율(%)")
q+scale_fill_gradient(low = 'white',high = 'red')
map <- get_map(location='seoul',zoom = 11,maptype = 'roadmap',color = 'bw')
z<-ggmap(map)+geom_polygon(data=P_merge,aes(x=long,y=lat,group=group,fill=rate),alpha=0.6)+labs(fill="서울특별시 인구수대비 음식점 비율(%)")
z+scale_fill_gradient(low = 'white',high = 'red')

 

구글 api키를 사용해서 지도를 사용 rate에는 인구대비 음식점 수를 나타내줌

지도를 띄우고 서울지역에 최대 id값을 넣어줌

ggplot를 사용해서 시각화 해줌 red가 진할수록 인구수대비 음식점수가 많은 것임

 

노원구, 도봉구, 강북구, 양천구가 인구수 대비 음식점 수가 많은 지역으로 나타났다는 것을 알 수 있음 

 

 

728x90