Ming's blog

미국 에어비앤비 데이터 시각화 (2) Data visualization 본문

공모전 및 대외활동/프로젝트

미국 에어비앤비 데이터 시각화 (2) Data visualization

H._.ming 2020. 1. 26. 18:51
반응형

2. Data visualization

(1) Y변수 (price)

1) 전체 Y 분포

#### 전체 Y ####

ggplot(data=airbnb_us_new,mapping=aes(x = Y))+
  theme_bw()+ #배경색 없애기
  geom_freqpoly(col="skyblue")  #그래프 선 색 변경 

 

미국 에어비앤비 가격의 분포

 

2) state 별 Y 분포

###state별로 그려보기###

ggplot(data=airbnb_us_new,mapping=aes(x = Y,y=..density..,colour=state))+
  theme_bw()+   #배경색 없애기
  geom_freqpoly() 
  
#알아보기 힘들다. 분포가 거의 비슷하다.

state 별 가격의 분포

 

3) state 별 Y의 상자그림

###state별 가격 상자그림으로 알아보기###

ggplot(data=airbnb_us_new)+
  geom_boxplot(mapping=aes(x = reorder(state,Y,FUN=median),y=Y,alpha=0.5,fill=state),show.legend ="F")+
  theme_bw()+
  xlab("state")+
  ylab("price")+
  coord_flip()
  
# 가격이 Hawaii>Boston>Sanfran>>>Chicago 순이다.

state별 가격의 boxplot

각 도시에 따른 가격을 boxplot 으로 그려보니 

Hawaii>Boston>San Francisco>>>Chicago 순으로 에어비앤비의 가격이 비싼 것을 확인할 수 있다.

 

(2) State 변수 

1) state 별 에이비앤비 수[막대그래프]

###막대그래프를 이용한 state별 에어비앤비 수###

ggplot(data=airbnb_us_new)+
  geom_bar(mapping=aes(x=state),fill=c("#666666","#666666","#666666",2,"orange","#666666","#666666","#666666","#666666"))+
  # LA와 NY만 다른 색으로 표시
  theme_bw()

##LA랑 NY이 가장 많다.

state 별 에어비앤비 수

위의 막대그래프를 통해 LA와 NY지역에 에어비앤비가 많이 분포하는 것을 알 수 있다.

 

2) State별 에어비앤비 분포

###state별 에어비앤비 분포 및 가격을 map위에 표시하기###

library(ggmap)
library(maps)
library(dplyr)
register_google(key="0000")  #key값 입력

# State별로 분리하기
#NY
newyork<-airbnb_us_new %>%
  filter(state=="NY")

#LA
la<-airbnb_us_new %>%
  filter(state=="LA")
lo2<-c(mean(la$longitude),mean(la$latitude)) #위도,경도 평균 좌표구하기

#San Francisco
sanfran<-airbnb_us_new %>%
  filter(state=="Sanfran")
lo3<-c(mean(sanfran$longitude),mean(sanfran$latitude))

#Boston
boston<-airbnb_us_new %>%
  filter(state=="Boston")
lo4<-c(mean(boston$longitude),mean(boston$latitude))

#Sandiego
sandiego<-airbnb_us_new %>%
  filter(state=="Sandiego")
lo5<-c(mean(sandiego$longitude),mean(sandiego$latitude))

#Washington
washington<-airbnb_us_new %>%
  filter(state=="Washington")
lo6<-c(mean(washington$longitude),mean(washington$latitude))

#Chicago
chicago<-airbnb_us_new %>%
  filter(state=="Chicago")
lo7<-c(mean(chicago$longitude),mean(chicago$latitude))

#Hawai
hawaii<-airbnb_us_new %>%
  filter(state=="Hawaii")
lo8<-c(mean(hawaii$longitude),mean(hawaii$latitude))

#Seattle
seattle<-airbnb_us_new %>%
  filter(state=="Seattle")
lo9<-c(mean(seattle$longitude),mean(seattle$latitude))

#map위에 그리기
#NY
map1 <- get_map(location = c(-74,40.7), zoom =11  , source = "google", maptype ="roadmap" ) #지도배경
ggmap(map1) + geom_point(data=newyork,mapping=aes(x=longitude,y=latitude,alpha=0.01,color=Y,size=Y))+  #가격에 따른 색과 크기 지정
			scale_color_gradient( low = '#99FF33', high = "#006633")+
            scale_size_area()  

#LA
map2 <- get_map(location = lo2, zoom =11  , source = "google", maptype ="roadmap" )
ggmap(map2) + geom_point(data=la,mapping=aes(x=longitude,y=latitude,alpha=0.1,color=Y,size=Y))+
			scale_color_gradient( low = '#99FF33', high = "#006633")+
  			scale_size_area()

#San Francisco
map3 <- get_map(location = lo3, zoom =13  , source = "google", maptype ="roadmap" )
ggmap(map3) + geom_point(data=sanfran,mapping=aes(x=longitude,y=latitude,alpha=0.1,color=Y,size=Y))+
			scale_color_gradient( low = '#99FF33', high = "#006633")+
  			scale_size_area()
  
#Boston
map4 <- get_map(location = lo4, zoom =12  , source = "google", maptype ="roadmap" )
ggmap(map4) + geom_point(data=boston,mapping=aes(x=longitude,y=latitude,alpha=0.1,color=Y,size=Y))+
			scale_color_gradient( low = '#99FF33', high = "#006633")+
            scale_size_area()

#Sandiego
map5 <- get_map(location = lo5, zoom =11  , source = "google", maptype ="roadmap" )
ggmap(map5) + geom_point(data=sandiego,mapping=aes(x=longitude,y=latitude,alpha=0.1,color=Y,size=Y))+
			scale_color_gradient( low = '#99FF33', high = "#006633")+
			scale_size_area()

#Washington
map6 <- get_map(location = lo6, zoom =13  , source = "google", maptype ="roadmap" )
ggmap(map6) + geom_point(data=washington,mapping=aes(x=longitude,y=latitude,alpha=0.1,color=Y,size=Y))+
			scale_color_gradient( low = '#99FF33', high = "#006633")+
			scale_size_area()

#Chicago
map7 <- get_map(location = lo7, zoom =12  , source = "google", maptype ="roadmap" )
ggmap(map7) + geom_point(data=chicago,mapping=aes(x=longitude,y=latitude,alpha=0.1,color=Y,size=Y))+
			scale_color_gradient( low = '#99FF33', high = "#006633")+
			scale_size_area()

#Hawaii
map8 <- get_map(location = lo8, zoom =9  , source = "google", maptype ="roadmap" )
ggmap(map8) + geom_point(data=hawaii,mapping=aes(x=longitude,y=latitude,alpha=0.1,color=Y,size=Y))+
			scale_color_gradient( low = '#99FF33', high = "#006633")+
			scale_size_area()

#Seattle
map9 <- get_map(location = lo9, zoom =12  , source = "google", maptype ="roadmap" )
ggmap(map9) + geom_point(data=seattle,mapping=aes(x=longitude,y=latitude,alpha=0.1,color=Y,size=Y))+
			scale_color_gradient( low = '#99FF33', high = "#006633")+
			scale_size_area()

 

각 지역별 에어비앤비의 가격을 지도위에 나타내 본 결과는 아래와 같다.

 

state별 에어비앤비 분포

뉴욕의 경우 맨하튼 지역에, 엘에이 지역의 경우 할리우드 쪽에, 워싱턴의 경우 조지 워싱턴 대학교 부근에 에어비앤비가 많이 존재하고 에어비앤비의 가격이 높은 것을 확인할 수 있다.

 

시카고의 경우 네이비 피어 쪽 해안가밀레니엄 파크 부근에 많은 에어비앤비가 존재하며 고가의 에어비앤비가 존재하는 것을 알 수 있다.

 

시애틀샌프란시스코의 경우 별다른 특징 없이 에어비앤비가 골고루 분포하는 것을 확인할 수 있으며

샌디에고하와이의 경우 해안가의 에어비앤비의 가격이 높게 형성되어 있는 것을 알 수 있다.

반응형
Comments