Commit 18f1e592 authored by numeroteca's avatar numeroteca

calcula ratio plazas por habitante en distritos valencia y compara ratios

parent 48f3f033
......@@ -32,6 +32,7 @@ municipios <- readOGR("data/original/shapes/municipios.provincia.valencia.geojso
# viviendas_barrios <- read.delim("data/original/numero-viviendas-por-barrio-valencia-censo2011-ine.csv",sep = ",")
viviendas_barrios <- read.delim("data/output/numero-viviendas-por-barrio-valencia-censo2011-ine.csv",sep = ",")
viviendas_distritos <- read.delim("data/original/numero-viviendas-por-distrito-valencia-censo2011-ine.csv",sep = ",")
habitantes_distritos <- read.delim("data/original/poblacion-por-distrito-valencia-censo2011-ine.csv",sep = ",")
# # Airbnb listings 2017-09-12
# airbnb201709 <- read.delim("data/original/airbnb/170912/listings_summary_valencia_insideairbnb.csv",sep = ",")
......@@ -779,7 +780,7 @@ png(filename="images/airbnb/barras-mariposa-n-y-ratio-airbnb-barrios-valencia-20
grid.arrange(plot2,plot1,ncol=2,widths=c(2,3))
dev.off()
# Mariposa para solo viviendas -----------------------------------------------------------------------------
# Mariposa para solo viviendas -----------------------------------------------------------------------------
plot1v <-
ggplot(por_barrios.viviendas,aes(x = reorder(neighbourhood_cleansed, -pos_ratio_viv_2018), y = ratio2018_room_type)) + #order by Value or by -pos_ratio2018
geom_col(position = "dodge")+
......@@ -976,11 +977,112 @@ dev.off()
# legend.title.size = 2)
# dev.off()
ver <- as.data.frame(barrios@data[,c("nombre","ratio2018_room_type","ratio2018_listings")])
# ver <- as.data.frame(barrios@data[,c("nombre","ratio2018_room_type","ratio2018_listings")])
# Prepare for cartograma -----------------------------------------------------
# Plazas de Airbnb por habitante -------------------------------
# agrupa datos añadiendo código de distrito
airbnb.distritos.plazas <- airbnb201902 %>%
group_by(distrito,coddistrit) %>%
summarise(plazas=sum(accommodates),anuncios=n()) %>%
ungroup() %>%
arrange(-plazas)
airbnb.distritos.plazas.room_type <- airbnb201902 %>% filter(room_type=="Vivienda completa") %>%
group_by(distrito,coddistrit,room_type) %>%
summarise(viviendas_completas=n()) %>% #suma el número de items por barrio
filter( !is.na(coddistrit) ) %>%
ungroup() %>%
arrange(-viviendas_completas)
# une datos de airbnb con datos de distritos
por_distritos.plazas <- full_join(airbnb.distritos.plazas,select(habitantes_distritos,-distrito), by="coddistrit")
por_distritos.plazas <- full_join(por_distritos.plazas,select(airbnb.distritos.plazas.room_type,-distrito,-room_type), by="coddistrit")
# removes rows without código, it means that points are outside area
por_distritos.plazas <- por_distritos.plazas %>% filter( !is.na(coddistrit) )
# añade datos de vivienda
por_distritos.plazas <- full_join(por_distritos.plazas,select(por_distritos,-distrito,-count), by="coddistrit")
por_distritos.plazas$ratio2018_plazasxhab <- round(por_distritos.plazas$plazas/ por_distritos.plazas$poblacion *100,digits = 2)
por_distritos.plazas$ratio2018_airbnbxviv <- round(por_distritos.plazas$anuncios/ por_distritos.plazas$Total *100,digits = 2)
por_distritos.plazas$ratio2018_airbnbvivxviv <- round(por_distritos.plazas$viviendas_completas/ por_distritos.plazas$Total *100,digits = 2)
# convierte a formato largo
dist.plazas_long <- por_distritos.plazas %>% select(distrito,ratio2018_plazasxhab,ratio2018_airbnbxviv,ratio2018_airbnbvivxviv) %>%
gather("tipo","ratio",-distrito)
write.csv(por_distritos.plazas %>% select(distrito,ratio2018_plazasxhab,ratio2018_airbnbxviv,ratio2018_airbnbvivxviv,anuncios), file = "data/output/airbnb/190227/ratios_airbnb-valencia-distritos-201902.csv", row.names = FALSE)
# simples gráficos de barras de ratios ---------------------
ggplot(por_distritos.plazas) +
geom_col(
aes(y=ratio2018_plazasxhab,x=reorder(distrito,ratio2018_plazasxhab))) +
coord_flip()
ggplot(por_distritos.plazas) +
geom_col(
aes(y=ratio2018_airbnbxviv,x=reorder(distrito,ratio2018_airbnbxviv))) +
coord_flip()
ggplot(por_distritos.plazas) +
geom_col(
aes(y=ratio2018_airbnbvivxviv,x=reorder(distrito,ratio2018_airbnbvivxviv))) +
coord_flip()
# baras ratios comparativas ----------
png(filename="images/airbnb/ratio-listings-airbnb-anuncios-distritos-valencia-201902.png",width = 600,height = 600)
por_distritos.plazas %>%
ggplot(aes(y=ratio2018_hab,x=reorder(distrito,ratio2018_hab))) + #order by Value or by -pos_ratio2018
geom_col(position = "dodge") +
# scale_y_continuous(limits = c(0,8.5), expand = c(0,0)) +
theme_minimal(base_family = "Roboto Condensed", base_size = 16) +
theme(
panel.grid.minor.y = element_blank(), panel.grid.major.y = element_blank(),
legend.position = "bottom"
) +
labs(title = "Presencia de Airbnb en distritos. Febrero 2019. Valencia",
subtitle = "Ratio de plazas de Airbnb por cada 100 habitantes",
y = "ratio anuncios Airbnb / 100 viviendas",
x = NULL,
caption = "Datos: InsideAirbnb. Gráfico: lab.montera34.com/airbnb") +
geom_text(aes(label =ratio2018_hab),
position = position_dodge(width = 1), hjust = -0.1,
size=3,color="#777777") +
coord_flip()
dev.off()
# barras de los tres ratios ------------------
ggplot(dist.plazas_long) +
geom_col(
aes(x=reorder(distrito,ratio),y=ratio,fill=tipo,position="fill")
) +
geom_text(aes(x=reorder(distrito,ratio), y = ratio+0.1,label = ratio),
position = "dodge",
size=3,color="#666666",hjust=0) +
theme_minimal(base_family = "Roboto Condensed", base_size = 16) +
theme(
panel.grid.minor.y = element_blank(), panel.grid.major.y = element_blank(),
legend.position = "none"
) +
labs(title = "Ratios de presencia de Airbnb por distritos. Febrero 2019. Valencia",
# subtitle = "",
y = "ratio",
x = "",
fill="ddd",
caption = "Datos: InsideAirbnb. Gráfico: lab.montera34.com/airbnb"
) +
coord_flip() +
facet_wrap(~tipo)
# Prepare data for cartograma -----------------------------------------------------
library(geojsonio)
barrios_json <- geojson_json(barrios)
# salva como geojson
geojson_write(barrios_json, file = "tmp/test_geojson")
"distrito","ratio2018_plazasxhab","ratio2018_airbnbxviv","ratio2018_airbnbvivxviv","anuncios"
"CIUTAT VELLA",23.55,8.01,6.68,1500
"POBLATS MARITIMS",7.65,3.21,2.65,999
"L'EIXAMPLE",6.14,2.98,2.08,678
"EXTRAMURS",4.38,2.04,1.4,572
"CAMINS AL GRAU",2.73,1.51,0.93,467
"QUATRE CARRERES",1.97,1.05,0.64,384
"LA SAIDIA",2.28,1.27,0.73,319
"ALGIROS",1.96,0.92,0.48,203
"L'OLIVERETA",1.45,0.77,0.44,200
"POBLATS DEL SUD",3.15,0.61,0.49,121
"EL PLA DEL REAL",1.7,1,0.5,161
"JESUS",0.81,0.52,0.25,126
"CAMPANAR",1.11,0.58,0.37,108
"BENIMACLET",1.34,0.79,0.26,132
"RASCANYA",0.71,0.51,0.21,122
"PATRAIX",0.62,0.39,0.2,101
"BENICALAP",0.63,0.38,0.24,83
"POBLATS DE L'OEST",0.82,0.39,0.23,31
"POBLATS DEL NORD",0.56,0.29,0.09,10
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment