En primer lugar, vamos a cargar el shapefile de columnas de Cali
#cargar el shapefile de comunas
comunas <- shapefile("Comunas.shp")
plot(comunas)
Figura 1. Mapa de Comunas de Cali.
Cali cuenta con 23 comunas, que van enumeradas desde la 0 hasta la 22.
Ahora, se cargan los datos de la encuesta origen-destino.
#cargar los datos de la encuesta de origen-destino
EncuestaOrigenDestino <-read_excel("EncuestaOrigenDestino.xlsx")
## New names:
## • `MUNICIPIO` -> `MUNICIPIO...7`
## • `DEPARTAMENTO / LOCALIDAD / COMUNA / DISTRITO / BARRIO / VEREDA / HITO /
## DIRECCIÓN` -> `DEPARTAMENTO / LOCALIDAD / COMUNA / DISTRITO / BARRIO / VEREDA
## / HITO / DIRECCIÓN...8`
## • `MUNICIPIO` -> `MUNICIPIO...11`
## • `DEPARTAMENTO / LOCALIDAD / COMUNA / DISTRITO / BARRIO / VEREDA / HITO /
## DIRECCIÓN` -> `DEPARTAMENTO / LOCALIDAD / COMUNA / DISTRITO / BARRIO / VEREDA
## / HITO / DIRECCIÓN...12`
## • `OTRO ¿CUÁL?` -> `OTRO ¿CUÁL?...17`
## • `OTRO ¿CUÁL?` -> `OTRO ¿CUÁL?...24`
Esta base de datos contiene 35,054 registros y 28 columnas, entre las cuales destacan comuna origen, comuna destino y Tipo de vehículo. En este análisis, nos enfocamos solo en las personas que se movilizan dentro de Cali. Vamos a dejar nuestra base de datos, con solo las comunas de interés (Comuna origen, comuna destino y tipo de vehiculo).
EncuestaOrigenDestino <- EncuestaOrigenDestino[c("TIPO DE VEHÍCULO", "comuna origen", "comuna destino")]
Vamos a analizar las personas que salen desde la comuna, y luego las personas que llegan a una comuna. Además, en cada comuna se va a analizar por tipo de vehículo (Bicicleta, moro y carro).
Vamos a crear una función para graficar el mapa.
crear_mapa <- function(data, comunas,col) {
comunas2 <- spTransform(comunas, CRS("+proj=longlat +ellps=WGS84 +datum=WGS84"))
#Convertir a formato sf
comunas_sf <- st_as_sf(comunas2)
#Contar las ofertas (intersecciones) por comuna
ofertas <- data %>%
group_by(comuna) %>%
summarise(ofertas = n())
#Unir las ofertas al objeto comunas_sf
comunas_sf <- left_join(comunas_sf, ofertas, by = c("comuna" = "comuna"))
#Crear el mapa
tm_map <- tm_shape(comunas_sf) +
tm_polygons("ofertas", palette = col, style = "cont", title = "Total de Ofertas", n = 5) + # Nueva paleta YlOrRd
tm_text("comuna", size = 0.6)
tmap_mode("plot") # Establecer el modo estático
print(tm_map) # Mostrar el mapa
}
Primero vamos a analizar la comuna origen. Para ello, eliminamos los registros que en su comuna de origen sea fuera de Cali.
# Filtrar las comunas dentro de Cali
origen <- subset(EncuestaOrigenDestino, !grepl("Fuera de Cali", `comuna origen`))
#convertir a numero
origen$comuna <- as.numeric(origen$`comuna origen`)
kbl(addmargins(table(origen$`comuna origen`, useNA = "ifany")), caption = "<center><b>Tabla 1. Frecuencia de Comuna Origen</b></center>", col.names=c("Comuna","Frecuencia"))%>%
kable_classic(full_width = F)
| Comuna | Frecuencia |
|---|---|
| 0 | 672 |
| 01 | 794 |
| 02 | 2968 |
| 03 | 2121 |
| 04 | 1493 |
| 05 | 664 |
| 06 | 998 |
| 07 | 734 |
| 08 | 1124 |
| 09 | 952 |
| 10 | 1401 |
| 11 | 925 |
| 12 | 348 |
| 13 | 1238 |
| 14 | 685 |
| 15 | 1171 |
| 16 | 993 |
| 17 | 2377 |
| 18 | 1536 |
| 19 | 2850 |
| 20 | 733 |
| 21 | 818 |
| 22 | 1153 |
| Sum | 28748 |
La Tabla 1 muestra la frecuencia de Comuna Origen. Se puede observar que las comunas con mayor frecuencia son las comunas 19, 02 y 17, con 2850, 2968 y 2377 registros respectivamente. Por otro lado, las comunas 12 y 0 tienen las frecuencias más bajas, con 348 y 672 registros respectivamente.
Procedemos a visualizar los datos.
crear_mapa(origen, comunas, "Blues")
## tmap mode set to plotting
Figura 2. Distribución de Ofertas por Comuna de origen en Cali.
En la Figura 2 se observa que las comunas del oeste de Cali presentan una mayor frecuencia de ofertas, es decir que las personas en estas zonas tienden a desplazarse desde ese lugar hacia otros lugares. En contraste, las comunas del este muestran menores frecuencias.
#filtrar datos por bicicleta
df_origen_bicicleta <- origen %>% filter(`TIPO DE VEHÍCULO` ==1)
kbl(addmargins(table(df_origen_bicicleta$`comuna origen`, useNA = "ifany")), caption = "<center><b>Tabla 2. Frecuencia de Comuna Origen por Uso de Bicicleta</b></center>", col.names=c("Comuna","Frecuencia"))%>%
kable_classic(full_width = F)
| Comuna | Frecuencia |
|---|---|
| 0 | 43 |
| 01 | 36 |
| 02 | 159 |
| 03 | 99 |
| 04 | 74 |
| 05 | 38 |
| 06 | 44 |
| 07 | 35 |
| 08 | 52 |
| 09 | 53 |
| 10 | 82 |
| 11 | 52 |
| 12 | 14 |
| 13 | 76 |
| 14 | 37 |
| 15 | 70 |
| 16 | 73 |
| 17 | 141 |
| 18 | 111 |
| 19 | 141 |
| 20 | 46 |
| 21 | 44 |
| 22 | 55 |
| Sum | 1575 |
La Tabla 2 muestra la frecuencia de la comuna origen por el uso de bicicleta. Las comunas con mayores frecuencias son la comuna 02, comuna 17 y comuna 19, con 159, 141 y 141 ofertas respectivamente. Por otro lado, las comunas como comuna 12 tienen una frecuencia mucho más baja, con solo 14 ofertas.
crear_mapa(df_origen_bicicleta, comunas, 'Purples')
## tmap mode set to plotting
Figura 3. Figura 3. Distribución de Ofertas por Comuna de Origen en Cali para el Uso de Bicicleta.
El mapa de la Figura 3 muestra las ofertas por comuna de origen para los desplazamientos en bicicleta en Cali, con un rango de frecuencias que va de 50 a 150. Se observa que las comunas del norte y oeste de la ciudad y por el sector de Valle del Lili tienden a desplazarse en bicicleta. Por otro lado, las zonas del del oriente, tienen una frecuencia más baja de ofertas.
#filtrar datos por bicicleta
df_origen_moto <- origen %>% filter(`TIPO DE VEHÍCULO` == 2)
kbl(addmargins(table(df_origen_moto$`comuna origen`, useNA = "ifany")), caption = "<center><b>Tabla 3. Frecuencia de Comuna Origen por Uso de Moto</b></center>", col.names=c("Comuna","Frecuencia"))%>%
kable_classic(full_width = F)
| Comuna | Frecuencia |
|---|---|
| 0 | 259 |
| 01 | 375 |
| 02 | 1414 |
| 03 | 970 |
| 04 | 720 |
| 05 | 319 |
| 06 | 473 |
| 07 | 350 |
| 08 | 552 |
| 09 | 413 |
| 10 | 675 |
| 11 | 431 |
| 12 | 176 |
| 13 | 554 |
| 14 | 310 |
| 15 | 536 |
| 16 | 450 |
| 17 | 1136 |
| 18 | 746 |
| 19 | 1280 |
| 20 | 339 |
| 21 | 378 |
| 22 | 515 |
| Sum | 13371 |
La Tabla 3 muestra la frecuencia de las comunas de origen por el uso de moto en Cali, con un total de 13,371 observaciones. Se destaca que las comunas 02, 19 y 17 presentan las mayores frecuencias de uso de moto, con 1,414, 1,280 y 1,136 respectivamente.Por otro lado, comunas como la 12, con solo 176 observaciones, tienen una frecuencia mucho menor.
crear_mapa(df_origen_moto, comunas, 'Purples')
## tmap mode set to plotting
Figura 4. Figura 4. Distribución de Ofertas por Comuna de Origen en Cali para el Uso de Moto.
El mapa de la Figura 4 muestra las ofertas por comuna de origen para los desplazamientos en moto en Cali, con un rango de frecuencias que va de 200 a 1400. Aligual que con las biciletas, se observa que las comunas del oeste de la ciudad y por el sector de Valle del Lili tienden a desplazarse más en moto. Por otro lado, las zonas del del oriente, tienen una frecuencia más baja de ofertas.
#filtrar datos por carro
df_origen_carro <- origen %>% filter(`TIPO DE VEHÍCULO` == 3)
kbl(addmargins(table(df_origen_carro$`comuna origen`, useNA = "ifany")), caption = "<center><b>Tabla 4. Frecuencia de Comuna Origen por Uso de Carro</b></center>", col.names=c("Comuna","Frecuencia"))%>%
kable_classic(full_width = F)
| Comuna | Frecuencia |
|---|---|
| 0 | 317 |
| 01 | 301 |
| 02 | 1121 |
| 03 | 854 |
| 04 | 551 |
| 05 | 241 |
| 06 | 389 |
| 07 | 283 |
| 08 | 420 |
| 09 | 382 |
| 10 | 529 |
| 11 | 361 |
| 12 | 123 |
| 13 | 486 |
| 14 | 272 |
| 15 | 456 |
| 16 | 385 |
| 17 | 899 |
| 18 | 559 |
| 19 | 1165 |
| 20 | 272 |
| 21 | 328 |
| 22 | 489 |
| Sum | 11183 |
La Tabla 4 muestra la frecuencia de las comunas de origen por el uso de carro en Cali, con un total de 1183 observaciones. La comuna 02 tiene la mayor frecuencia, con 1121 observaciones, seguida por la comuna 19, con 1165 observaciones, lo que indica que son áreas de mayor concentración de uso de carro. Por otro lado, comunas como 12 (con solo 123 observaciones) tienen una frecuencia más baja.
crear_mapa(df_origen_carro, comunas, 'Purples')
## tmap mode set to plotting
Figura 5. Figura 5. Distribución de Ofertas por Comuna de Origen en Cali para el Uso de Carro.
El mapa de la Figura 5 muestra las ofertas por comuna de origen para los desplazamientos en moto en Cali, con un rango de frecuencias que va de 200 a 1000. Al igual que con las bicicletas y motos, se observa que las comunas del oeste de la ciudad y por el sector de Valle del Lili tienden a desplazarse más en carro. Por otro lado, las zonas del del oriente, tienen una frecuencia más baja de ofertas.
Primero vamos a analizar la comuna destino. Para ello, eliminamos los registros que en su comuna de destino sea fuera de Cali.
# Filtrar las comunas dentro de Cali
destino <- subset(EncuestaOrigenDestino, !grepl("Fuera de Cali", `comuna origen`))
#convertir a numero
destino$comuna <- as.numeric(destino$`comuna destino`)
kbl(addmargins(table(origen$`comuna origen`, useNA = "ifany")), caption = "<center><b>Tabla 5. Frecuencia de Comuna Destino</b></center>", col.names=c("Comuna","Frecuencia"))%>%
kable_classic(full_width = F)
| Comuna | Frecuencia |
|---|---|
| 0 | 672 |
| 01 | 794 |
| 02 | 2968 |
| 03 | 2121 |
| 04 | 1493 |
| 05 | 664 |
| 06 | 998 |
| 07 | 734 |
| 08 | 1124 |
| 09 | 952 |
| 10 | 1401 |
| 11 | 925 |
| 12 | 348 |
| 13 | 1238 |
| 14 | 685 |
| 15 | 1171 |
| 16 | 993 |
| 17 | 2377 |
| 18 | 1536 |
| 19 | 2850 |
| 20 | 733 |
| 21 | 818 |
| 22 | 1153 |
| Sum | 28748 |
La Tabla 5 muestra la frecuencia de “Comuna destino”. Se puede observar que las comunas con mayor frecuencia son las comunas 02 (2968), 19 (2850) y 17 (2377), lo que sugiere que estas áreas son destinos populares dentro de la ciudad. Por otro lado, las comunas con menores frecuencias, como la comuna 12 (348) y la comuna 14 (685), parecen ser menos atractivas como destinos,
Procedemos a visualizar los datos.
crear_mapa(destino, comunas, "Reds")
## tmap mode set to plotting
Figura 6. Distribución de Ofertas por Comuna de destino en Cali.
En la Figura 6 se observa que las comunas del oeste de Cali presentan una mayor frecuencia de ofertas, es decir que las personas tienden a llegar a estas lugares. En contraste, las comunas del oriente muestran menores frecuencias.
#filtrar datos por bicicleta
df_destino_bicicleta <- destino %>% filter(`TIPO DE VEHÍCULO` ==1)
kbl(addmargins(table(df_destino_bicicleta$`comuna origen`, useNA = "ifany")), caption = "<center><b>Tabla 6. Frecuencia de Comuna Destino por Uso de Bicicleta</b></center>", col.names=c("Comuna","Frecuencia"))%>%
kable_classic(full_width = F)
| Comuna | Frecuencia |
|---|---|
| 0 | 43 |
| 01 | 36 |
| 02 | 159 |
| 03 | 99 |
| 04 | 74 |
| 05 | 38 |
| 06 | 44 |
| 07 | 35 |
| 08 | 52 |
| 09 | 53 |
| 10 | 82 |
| 11 | 52 |
| 12 | 14 |
| 13 | 76 |
| 14 | 37 |
| 15 | 70 |
| 16 | 73 |
| 17 | 141 |
| 18 | 111 |
| 19 | 141 |
| 20 | 46 |
| 21 | 44 |
| 22 | 55 |
| Sum | 1575 |
La Tabla 6 presenta la frecuencia de las comunas de destino por uso de bicicleta, con un total de 1,575 observaciones. Las comunas con mayor frecuencia de uso de bicicleta como destino son la comuna 02 (159), 17 (141) y 19 (141), lo que sugiere que estas áreas son las más frecuentadas por ciclistas. Las comunas con frecuencias más bajas incluyen la comuna 12 (14).
crear_mapa(df_destino_bicicleta, comunas, 'Greens')
## tmap mode set to plotting
Figura 7. Distribución de Ofertas por Comuna de Destino en Cali para el Uso de Bicicleta.
El mapa de la Figura 7 muestra las ofertas por comuna de origen para los desplazamientos en bicicleta en Cali, con un rango de frecuencias que va de 50 a 200. Se observa que las comunas del norte, oeste y sur de la ciudad tienden a llegar en bicicleta. Por otro lado, las zonas del del oriente, tienen una frecuencia más baja.
#filtrar datos por bicicleta
df_destino_moto <- destino %>% filter(`TIPO DE VEHÍCULO` == 2)
kbl(addmargins(table(df_destino_moto$`comuna origen`, useNA = "ifany")), caption = "<center><b>Tabla 7. Frecuencia de Comuna Destino por Uso de Moto</b></center>", col.names=c("Comuna","Frecuencia"))%>%
kable_classic(full_width = F)
| Comuna | Frecuencia |
|---|---|
| 0 | 259 |
| 01 | 375 |
| 02 | 1414 |
| 03 | 970 |
| 04 | 720 |
| 05 | 319 |
| 06 | 473 |
| 07 | 350 |
| 08 | 552 |
| 09 | 413 |
| 10 | 675 |
| 11 | 431 |
| 12 | 176 |
| 13 | 554 |
| 14 | 310 |
| 15 | 536 |
| 16 | 450 |
| 17 | 1136 |
| 18 | 746 |
| 19 | 1280 |
| 20 | 339 |
| 21 | 378 |
| 22 | 515 |
| Sum | 13371 |
La Tabla 7 muestra la frecuencia de las comunas de destino por uso de moto, con un total de 13371 observaciones. Las comunas con mayores frecuencias de uso de moto como destino incluyen la comuna 02 (1414), 19 (1280) y 17 (1136).
crear_mapa(df_destino_moto, comunas, 'Greens')
## tmap mode set to plotting
Figura 8. Distribución de Ofertas por Comuna de Destino en Cali para el Uso de Moto.
El mapa de la Figura 8 muestra las ofertas por comuna de destino para los desplazamientos en moto en Cali, con un rango de frecuencias que va de 500 a 1500. Destaca que muchas personas tienen como preferencia llegar en moto a la zona norte y centro de la ciudad.
#filtrar datos por carro
df_destino_carro <- destino %>% filter(`TIPO DE VEHÍCULO` == 3)
kbl(addmargins(table(df_origen_carro$`comuna origen`, useNA = "ifany")), caption = "<center><b>Tabla 9. Frecuencia de Comuna Destino por Uso de Carro</b></center>", col.names=c("Comuna","Frecuencia"))%>%
kable_classic(full_width = F)
| Comuna | Frecuencia |
|---|---|
| 0 | 317 |
| 01 | 301 |
| 02 | 1121 |
| 03 | 854 |
| 04 | 551 |
| 05 | 241 |
| 06 | 389 |
| 07 | 283 |
| 08 | 420 |
| 09 | 382 |
| 10 | 529 |
| 11 | 361 |
| 12 | 123 |
| 13 | 486 |
| 14 | 272 |
| 15 | 456 |
| 16 | 385 |
| 17 | 899 |
| 18 | 559 |
| 19 | 1165 |
| 20 | 272 |
| 21 | 328 |
| 22 | 489 |
| Sum | 11183 |
La Tabla 8 muestra la frecuencia de las comunas de destino por el uso de carro en Cali. Las comunas 02 y 19 destacan como las de mayor uso de carro, con 1121 y 1165 observaciones respectivamente, lo que indica que estas áreas tienen una mayor demanda de transporte en carro. En contraste, comunas como 12 presentan una frecuencia mucho más baja, con solo 123 observaciones.
crear_mapa(df_destino_carro, comunas, 'Greens')
## tmap mode set to plotting
Figura 9. Distribución de Ofertas por Comuna de Destino en Cali para el Uso de Carro.
Al igual que con la Figura 8, las personas suelen trasladarse en carro hasta la zona norte de la ciudad.
Se observó que las comunas del oeste de Cali, como las comunas 19, 02 y 17, presentan una mayor frecuencia tanto de origen como de destino en comparación con las comunas del este, lo que indica una mayor actividad de movilidad en estas zonas. Además, el uso de vehículos como la bicicleta, moto y carro tiene patrón geográfico, con una alta concentración de viajes en bicicleta y moto en las zonas norte-centro y oeste y sector de Valle del Lili, al igual que con los carros carros en las mismas áreas. Por otro lado, se observa que las personas de las comunas del oriente, en su mayoría, no muestran desplazarse tanto en vehiculos como moto, carro o bicicleta y pueden optar por utilizar transporte público u otros medios.