Commit efc43343 authored by Vicente's avatar Vicente

script_R_graficos_licencias

parent 24167207
library(tidyverse)
datos <- read.csv("./data/original/airbnb/190227/listings_valencia_insideairbnb.csv")
# Cargamos los datos de insideairbnb
datos <- datos %>% mutate(legal = ifelse(license =="","Sin licencia","Con licencia"))
# seleccionamos los apartamentos enteros
datos2 <- datos %>% filter(room_type=="Entire home/apt")
# grafico barras licencias/no licencias
ggplot(datos2,aes(neighbourhood,fill=legal)) +
geom_bar() +
labs(title="Distribución de licencias por barrio",
x= "Licence",
y="Neighbourhood") +
geom_text(stat='count',aes(label=..count..),
position = "stack",
vjust=1,
size=3,
color="black") +
theme(axis.text.x=element_text(angle = 90, hjust = 1))
# grafico anterior girando ejes
ggplot(datos2,aes(neighbourhood,fill=legal)) +
geom_bar() +
labs(title="Distribución de licencias por barrio",
x= "Licence",
y="Neighbourhood") +
geom_text(stat='count',aes(label=..count..),
position = "stack",
vjust=1,
hjust=1,
size=3,
color="black") +
coord_flip()
# grafico anterior sobre 100% cada barra
ggplot(datos2,aes(neighbourhood)) +
geom_bar(aes(fill=legal),position="fill") +
labs(title="Distribución de licencias por barrio",
x= "Licence",
y="Neighbourhood") +
coord_flip()
# identifica numero de 5 cifras como licencia
library(stringr)
datos2 <- datos2 %>% mutate(legal_note1 = ifelse(is.na(str_extract(notes,"\\d{5}")),"","Con licencia"))
datos2 <- datos2 %>% mutate(legal_note2 = ifelse(is.na(str_extract(name,"\\d{5}")),"","Con licencia"))
datos2 <- datos2 %>% mutate(legal_note3 = ifelse(is.na(str_extract(summary,"\\d{5}")),"","Con licencia"))
datos2 <- datos2 %>% mutate(legal_note4 = ifelse(is.na(str_extract(description,"\\d{5}")),"","Con licencia"))
datos2 <- datos2 %>% mutate(legal_note5 = ifelse(is.na(str_extract(space,"\\d{5}")),"","Con licencia"))
datos2 <- datos2 %>% mutate(legal_note = ifelse(legal=="Con licencia" | legal_note1=="Con licencia" | legal_note2=="Con licencia" | legal_note3=="Con licencia" | legal_note4=="Con licencia" | legal_note5=="Con licencia",
"Con licencia", "Sin licencia"))
write.csv(datos2,"datos_licencias.csv")
# grafico anterior girando ejes
ggplot(datos2,aes(neighbourhood,fill=legal_note)) +
geom_bar() +
labs(title="Distribución de licencias revisadas por barrio",
x= "Licencias revisadas",
y="Neighbourhood") +
geom_text(stat='count',aes(label=..count..),
position = "stack",
vjust=1,
hjust=1,
size=3,
color="black") +
coord_flip()
# grafico anterior sobre 100% cada barra
ggplot(datos2,aes(neighbourhood)) +
geom_bar(aes(fill=legal_note),position="fill") +
labs(title="Distribución de licencias revisadas por barrio",
x= "Licence revisadas",
y="Neighbourhood") +
coord_flip()
#### scrapping de licencias
#- scrapping airbnb: http://comunitatvalenciana.com/viaje/alojamiento/viviendas-turisticas
library("rvest")
library("tidyverse")
content <- read_html("http://comunitatvalenciana.com/viaje/alojamiento/viviendas-turisticas?page=1")
body_table <- content %>% html_nodes('body') %>%
html_nodes('table') %>%
html_table(dec = ",")
my_table <- body_table[[1]]
adress <- "http://comunitatvalenciana.com/viaje/alojamiento/viviendas-turisticas?page="
#- hay 3642 paginas
my_names <-names(my_table)
#- 76 peta x Error in match.names(clabs, names(xi)) : names do not match previous names
n_pags <- 3642
for (ii in 2:n_pags){ #- n_pags
adress_n <- paste0(adress, ii)
content_n <- read_html(adress_n)
body_table_n <- content_n %>% html_nodes('body') %>%
html_nodes('table') %>%
html_table(dec = ",")
my_table_n <- body_table_n[[1]]
names(my_table_n) <- my_names
my_table <- rbind(my_table, my_table_n)
print(ii)
}
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