728x90
2021/06/07(월)
Hadoop/Hive 분석 프로젝트
1) 데이터 수집 참고
https://cordingdoah.tistory.com/122
이제 데이터를 수집하고 Hive안에 넣어놨으니 원하는 데이터를 뽑아 csv파일로 생성하고
지도 시각화 과정을 해보도록 하겠다.
먼저 서울의 최고 거래량 연월을 출력하여 csv파일을 생성해 보도록 하겠다
<서울의 거래량 내림차순으로 출력>
select monthofyear, city, avg(coh) comax
from property
where city='Seoul' and
gu='total'
group by monthofyear, city
order by comax desc;
--> 결과화면
서울 최고 거래량 연월 2006년 11월의 대한 지역별 거래량 출력
select monthofyear, city, gu, coh
from property
where city='Seoul' and
monthofyear=200611;
--> 결과화면
<R을 이용한 지도 시각화>
각 서울 지역의 id값을 삽입하여 저장해주기
지도 시각화를 하기 위한 R코드
setwd("C:/Rdata")
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("서울최고거래량_200611.csv", header=TRUE)
p$rate<-p$coh
View(p)
map<-shapefile("C:/Rdata/SIG_201405/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)
Jeollanamdo_map <- new_map[new_map$id <= 11740,]
p_merge <- merge(Jeollanamdo_map, p, by='id')
longlat<-p_merge[-which(duplicated(p_merge$id)),]
longlat
qTheme<-
theme(
axis.title = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
plot.title = element_text(hjust = 0.5,face = 'bold'),
legend.direction = 'horizontal',
legend.position = c(0.8, 0.05),
legend.text = element_text(size = 8, face = 'bold'),
legend.title = element_text(size = 10,face = 'bold')
)
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 = '#00BFFF')+qTheme+geom_text(data = longlat,
aes(x=long,y=lat),
size=3.5,
label=longlat$gu)+
ggtitle(label = '서울최고거래량')+
geom_text(data = longlat,
aes(x=long,y=lat-0.03),
size=3.5,
label=longlat$coh)
1. 서울최고거래량_200611.csv를 열어서 변수에 저장하고 맵을 생성하여 id의 최대값을 넣어줌
2. text를 맵에 출력
--> 결과화면
728x90
'코딩 연습장 > R' 카테고리의 다른 글
Python/JSP/R 이용한 맛집 프로젝트 - 10 (R 이용한 시각화) (0) | 2021.06.19 |
---|---|
R과 R스튜디오 설치 (0) | 2021.04.21 |