Datos bancos vía pública Valencia

Bancos
Valencia
Bancos Valencia
Infraestructuras
Via pública
Autor/a
Afiliación

Carles Villar Vegara

Universidad de Valencia

Fecha de publicación

30 de marzo de 2025

Input

Para llevar a cabo nuestro trabajo, utilizaremos los datos de Bancos vía pública, los cuales se encuentran disponibles en el repositorio de datos abiertos del Ayuntamiento de Valencia. Este portal ofrece una amplia variedad de conjuntos de datos relacionados con la ciudad, abarcando temáticas como movilidad, medio ambiente, urbanismo y servicios municipales, entre otros. En nuestro caso, el conjunto de datos específico se encuentra en el apartado de urbanismo. La base de datos que utilizaremos proporciona información en tiempo real sobre los bancos situados en la vía pública en Valencia.

  • ÁMBITO: Municipio
  • MODIFICADO: 15 de marzo de 2025 0:01
  • licencia: Enlace
  • TEMA: Urbanismo
  • PUBLICADOR: Ayuntamiento de Valencia

Descripción

Cargamos las librerias:

Leemos el conjunto de datos:

datos <- sf::st_read("data/000142/bancs-en-via-publica-bancos-en-via-publica.shp")
Reading layer `bancs-en-via-publica-bancos-en-via-publica' from data source 
  `C:\Users\scorp\OneDrive - Universitat de València\01 PROFESOR\06 Innovación Educativa\2023 2024\03 Web\datasets\data\000142\bancs-en-via-publica-bancos-en-via-publica.shp' 
  using driver `ESRI Shapefile'
Simple feature collection with 5959 features and 8 fields
Geometry type: POINT
Dimension:     XY
Bounding box:  xmin: -0.4252023 ymin: 39.27908 xmax: -0.2761254 ymax: 39.5411
Geodetic CRS:  WGS 84

Tenemos un objeto de tipo sf con 5959 observaciones y 9 variables:

class(datos)
[1] "sf"         "data.frame"
dim(datos)
[1] 5959    9

Analizamos si hay valores na:

sum(is.na(datos))
[1] 11534

Gráficamos los bancos para analizar si hay algunos fuera del límite o existe algún error visible.

ggplot() +
  ggspatial::annotation_map_tile(type="cartolight", zoom = 12) +
  geom_sf(data =datos , color = "#238443", size = 0.5, alpha=0.5) +
  theme_void()
Zoom: 12

Tras analizar el gráfico, no se ha detectado ninguna anomalía ni puntos fuera del área de Valencia ni ningún valor repetido. A continuación, procederemos a visualizar una selección de distritos junto con la cantidad de bancos presentes en cada uno.

df <- as.data.frame(table(datos$modelo))

parte1 <- df[1:(nrow(df) / 4), ]
parte2 <- df[((nrow(df) / 4) + 1):(nrow(df) / 2), ]
parte3 <- df[(((nrow(df) / 2) + 1):(3 * nrow(df) / 4)), ]
parte4 <- df[((3 * nrow(df) / 4) + 1):nrow(df), ]

df_final <- cbind(parte1, parte2, parte3, parte4)

colnames(df_final) <- c("Var1_1", "Freq_1", "Var1_2", "Freq_2", "Var1_3", "Freq_3", "Var1_4", "Freq_4")

# Visualizar el dataframe de municipios únicos
knitr::kable(head(df_final,20), format = "html")
Var1_1 Freq_1 Var1_2 Freq_2 Var1_3 Freq_3 Var1_4 Freq_4
apoyo isquiatico 9 banco hormigón 4 MEDITERRANEO DOBLE 6 ROMANDO 1
apoyo isquiático 4 BANCO ISQUIATICO 4 MEDITERRANEO PEQUEÑO 5 romanico 4
asiento banco UNIVERSE 2 Banco Kube UM372 de Benito 4 mediterrano 5 romantico 14
Asiento banco UNIVERSE 5 Banco Kube UM372 de BENITO 2 MEDITTERANEO 1 Romantico 3
Asiento Banco UNIVERSE 1 BANCO NEOBARCIANO 1 meiterraneo 1 ROMANTICO 284
asiento box 1 BANCO NEOBARCINO 48 METAL 43 romántico 2
Asiento silla UNIVERSE 1 banco piedra 28 METALICO 40 Romántico 1
banco box 5 banco polimero reciclado 1 METÁLICO 2 SILLA 8
Banco box 2 Banco polimero reciclado 3 MODELO 1 TABLA 1 silla en polimero reciclado 3
Banco Box 1 banco polímero reciclado 1 MODO08-1800 16 Silla Kube Ficus UM348S DE BENITO 6
Banco BOX 6 BANCO TAPONES RECICLADO 1 MRDITERRANEO 1 Silla Kube UM372S DE BENITO 3
BANCO BOX 1 BANCO TAPONES RECICLADOS 31 NEO BARCINO 1 SILLA MEDITERRANEA 1
banco de hormigón 7 CASCARA DE ARROZ 3 neobarcino 24 SILLA MEDITERRANEO 94
Banco de hormigón 2 CÁSCARA DE ARROZ 1 Neobarcino 9 silla polimero reciclado 6
banco de madera con respaldo y apoyabrazos 2 DESCONOCIDO 1 NEOBARCINO 219 Silla polimero reciclado 1
Banco de madera con respaldo y apoyabrazos 2 ISQUIATICO 6 NEOBARCOMP 1 silla polímero reciclado 1
banco de piedra 67 madera 147 neoclasico 1 silla UNIVERSE 2
BANCO DE PIEDRA 2 Madera 1 OTROS 103 Silla UNIVERSE 1
BANCO DE TAPONES RECICLADO 1 MADERA 236 piedra 61 SILLA MEDITERRANEO 1
banco de tapones reciclados 1 MADERO 1 PIEDRA 679 sillón madera 12

Número de nombres diferentes en la variable modelo

n_distinct(datos$modelo)
[1] 113

Despúes de analizar la tabla con el modelo del banco se ha observado varios casos en los que el mismo modelo de banco está escrito de diversas maneras aunque sea un el mismo modelo y tenemos hasta un total de 113 modelos diferentes.

Tratamiento

Hemos identificado diversas variaciones en los nombres de los modelos de bancos, incluyendo diferencias en el uso de mayúsculas, minúsculas y nomenclaturas distintas para un mismo modelo. Estas inconsistencias pueden dificultar la identificación y el análisis de los datos, por lo que procederemos a estandarizar los nombres para garantizar una mayor coherencia en la base de datos.

vamos a empezar comprobando todos los tipos de modelos que aparecen en la base de datos para organizarlo y clasificarlos antes de empezar a modificarlos.

A continuación se presenta la tabla con las variaciones de los nombres que se encuentran en la columna modelo y cómo se organizarán para obtener un formato estandarizado. Las variaciones que corresponden a la misma categoría han sido agrupadas en el mismo apartado de la tabla.

Variaciones de Nombre Nombre Estandarizado
banco hormigón, banco de hormigón HORMIGÓN
mediterrano, mediterraneo, mediterráneo, MEDITERRANEO MEDITERRANEO
romantico, ROMANTICO, romantico ROMANTICO
piedra, banco de piedra, banco piedra PIEDRA
Silla mediterraneo, silla mediterranea, SILLA MEDITERRANEA, silla mediterranea MEDITERRANEO
banco polimero reciclado, Banco polimero reciclado, banco en polimero reciclado POLÍMERO RECICLADO
banco box, Banco BOX BANCO BOX
banco de madera, banco madera, madera MADERA
resina imitación madera, resina imitacion madera RESINA IMITACIÓN MADERA
banco neobarcino, neobarcino NEOBARCINO
desconocido OTROS
silla en polimero reciclado POLÍMERO RECICLADO
silla UNIVERSE, asiento silla UNIVERSE UNIVERSE
tarjetes crédito, tarjetes de crédito TARJETAS DE CRÉDITO
banco de tapones reciclados, Banco tapones reciclados TAPONES RECICLADOS
banco ecologico, Banco ecológico ECOLOGICO
banco de madera con respaldo y apoyabrazos MADERA CON RESPALDO
silla, silla polimero reciclado, banco polimero reciclado POLÍMERO RECICLADO
banco de piedra, banco piedra PIEDRA

Una vez sabemos como vamos a clasificar los datos, los modificamos.

datos_1<- datos %>%
  mutate(modelo = str_trim(modelo),  
         modelo = toupper(modelo),   
         modelo = case_when(
           str_detect(modelo, "HORMIGÓN") ~ "HORMIGÓN",  
           str_detect(modelo, "MEDITERRANEO|MEDITERRANEA|MEDITERRÁNEO|MEDITERRANEO PEQUEÑO") ~ "MEDITERRANEO",  
           str_detect(modelo, "ROMÁNTICO|ROMANTICO") ~ "ROMANTICO",  
           str_detect(modelo, "PIEDRA") ~ "PIEDRA",  
           str_detect(modelo, "NEOBARCINO|NEOBARCOMP") ~ "NEOBARCINO",  
           str_detect(modelo, "SILLA") ~ "SILLA",  
           str_detect(modelo, "BANCO") ~ "BANCO",  
           str_detect(modelo, "TARJETAS DE CRÉDITO") ~ "TARJETAS DE CRÉDITO",  
           TRUE ~ "OTROS"  
         ))

Output

Hemos obtenido un nuevo objeto sf con 5959 observaciones y 9 variables pero con la variable modelo bien clasificada.

class(datos_1)
[1] "sf"         "data.frame"
nrow(datos_1)
[1] 5959
length(datos_1)
[1] 9
n_distinct(datos_1$modelo)
[1] 9
unique(datos_1$modelo)
[1] "HORMIGÓN"            "OTROS"               "MEDITERRANEO"       
[4] "PIEDRA"              "ROMANTICO"           "BANCO"              
[7] "SILLA"               "TARJETAS DE CRÉDITO" "NEOBARCINO"         

Podemos observar una reducción significativa en la cantidad de nombres de modelos. En el conjunto de datos original, había 113 nombres distintos, mientras que tras la limpieza, hemos logrado reducirlos a solo 9, consolidando las variaciones y mejorando la coherencia de la base de datos.

sf::st_write(datos_1, "bancos_valencia.gpkg")

El fichero generado con este procedimiento se puede descargar de aquí.



Proyecto de Innovación Educativa Emergente (PIEE-2737007)