##Etapa 1.Preparación de los datos##
Inicialmente procedemos al cargue de las librerias y bases de datos.
Una vez cargadas las bases de datos procedemos a limpiar la base de encuesta de origen destino “Encuesta”.
Encuesta2= Encuesta[Encuesta$comuna_origen!="FueradeCali" & Encuesta$comuna_destino!= "FueradeCali" & Encuesta$comuna_origen!= "0" & Encuesta$comuna_destino!= "0", ]
Encuesta=na.omit(Encuesta)
head(Encuesta2)
## # A tibble: 6 × 28
## FECHA IDESTACIÓN ESTACIÓN ACCESO MOVIM…¹ Horad…² MUNIC…³ DEPAR…⁴
## <dttm> <dbl> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 2015-06-01 00:00:00 1 Avenida… NORTE MOV1 6:10:0… CALI BCHIPI…
## 2 2015-06-01 00:00:00 1 Avenida… NORTE MOV1 6:28:0… CALI BSANLU…
## 3 2015-06-01 00:00:00 1 Avenida… NORTE MOV1 6:30:0… CALI BLOSAL…
## 4 2015-06-01 00:00:00 1 Avenida… NORTE MOV1 7:16:0… CALI CALLE1…
## 5 2015-06-01 00:00:00 1 Avenida… NORTE MOV1 7:20:0… CALI LA14CA…
## 6 2015-06-01 00:00:00 1 Avenida… NORTE MOV1 7:29:0… CALI BCIUDA…
## # … with 20 more variables: CodigoOrigen_SDG <chr>,
## # `¿QUEESTABAHACIENDOENESELUGAR?` <chr>, MUNICIPIO...11 <chr>,
## # `DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...12` <chr>,
## # CodigoDestino_SDG <chr>, `¿QUEVAHACERAESELUGAR?` <chr>,
## # ESTRATOENSUVIVIENDA <chr>,
## # `¿DISPONIADEUNVEHÍCULOPARAREALIZARESTEDESPLAZAMIENTO?` <chr>,
## # `OTRO¿CUÁL?...17` <chr>, ANTES <chr>, DESPUES <chr>, EDAD <chr>, …
## # ℹ Use `colnames()` to see all variable names
Posteriormente cargamos el shapefile, archivo que contiene la información geográfica (mapas) sobre el el cual realizaremos el análisis de la información, el cual se encuentra clasificado por comunas. Visualizaremos su estructura
comunas= shapefile ("C:/Users/jdiaz/Downloads/Casos/Casos/cali/Comunas.shp")
comunas
## class : SpatialPolygonsDataFrame
## features : 22
## extent : 1053868, 1068492, 860190.2, 879441.5 (xmin, xmax, ymin, ymax)
## crs : +proj=tmerc +lat_0=3.441883333 +lon_0=-76.5205625 +k=1 +x_0=1061900.18 +y_0=872364.63 +a=6379137 +rf=298.257222101 +units=m +no_defs
## variables : 4
## names : OBJECTID, gid, comuna, nombre
## min values : 1, 89, 1, Comuna 1
## max values : 22, 110, 22, Comuna 9
comunas@data
## OBJECTID gid comuna nombre
## 1 1 107 2 Comuna 2
## 2 2 108 1 Comuna 1
## 3 3 109 3 Comuna 3
## 4 4 110 19 Comuna 19
## 5 5 103 15 Comuna 15
## 6 6 104 17 Comuna 17
## 7 7 105 18 Comuna 18
## 8 8 106 22 Comuna 22
## 9 9 89 6 Comuna 6
## 10 10 90 4 Comuna 4
## 11 11 91 5 Comuna 5
## 12 12 92 7 Comuna 7
## 13 13 93 8 Comuna 8
## 14 14 94 9 Comuna 9
## 15 15 95 21 Comuna 21
## 16 16 96 13 Comuna 13
## 17 17 97 12 Comuna 12
## 18 18 98 14 Comuna 14
## 19 19 99 11 Comuna 11
## 20 20 100 10 Comuna 10
## 21 21 101 20 Comuna 20
## 22 22 102 16 Comuna 16
g1=spplot(comunas[,3])
g1
Ya podemos visualizar nuestro mapa, procederemos a colocar las etiquetas
sobre cada comuna para facilitar su lectura
lbls<- as.character(comunas$comuna)
spl = list('sp.text', coordinates(comunas), lbls, cex=.6)
spl[[2]][7,]=spl[[2]][7,]+0.005
require(gridExtra)
## Loading required package: gridExtra
##
## Attaching package: 'gridExtra'
## The following object is masked from 'package:dplyr':
##
## combine
g1=spplot(comunas[,3], col.regions= heat.colors(20,.100,.2), sp.layout = spl, main = "Comunas")
g1
com=as.numeric(Encuesta2$TIPO_DE_VEHÍiCULO)
## Warning: NAs introducidos por coerción
com=as.numeric(Encuesta2$comuna_origen)
Encuesta2
## # A tibble: 22,151 × 28
## FECHA IDESTACIÓN ESTAC…¹ ACCESO MOVIM…² Horad…³ MUNIC…⁴ DEPAR…⁵
## <dttm> <dbl> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 2015-06-01 00:00:00 1 Avenid… NORTE MOV1 6:10:0… CALI BCHIPI…
## 2 2015-06-01 00:00:00 1 Avenid… NORTE MOV1 6:28:0… CALI BSANLU…
## 3 2015-06-01 00:00:00 1 Avenid… NORTE MOV1 6:30:0… CALI BLOSAL…
## 4 2015-06-01 00:00:00 1 Avenid… NORTE MOV1 7:16:0… CALI CALLE1…
## 5 2015-06-01 00:00:00 1 Avenid… NORTE MOV1 7:20:0… CALI LA14CA…
## 6 2015-06-01 00:00:00 1 Avenid… NORTE MOV1 7:29:0… CALI BCIUDA…
## 7 2015-06-01 00:00:00 1 Avenid… NORTE MOV1 7:40:0… CALI LA14CA…
## 8 2015-06-01 00:00:00 1 Avenid… NORTE MOV1 7:47:0… CALI BCIUDA…
## 9 2015-06-01 00:00:00 1 Avenid… NORTE MOV1 7:50:0… CALI MARROQ…
## 10 2015-06-01 00:00:00 1 Avenid… NORTE MOV1 7:55:0… CALI BCIUDA…
## # … with 22,141 more rows, 20 more variables: CodigoOrigen_SDG <chr>,
## # `¿QUEESTABAHACIENDOENESELUGAR?` <chr>, MUNICIPIO...11 <chr>,
## # `DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...12` <chr>,
## # CodigoDestino_SDG <chr>, `¿QUEVAHACERAESELUGAR?` <chr>,
## # ESTRATOENSUVIVIENDA <chr>,
## # `¿DISPONIADEUNVEHÍCULOPARAREALIZARESTEDESPLAZAMIENTO?` <chr>,
## # `OTRO¿CUÁL?...17` <chr>, ANTES <chr>, DESPUES <chr>, EDAD <chr>, …
## # ℹ Use `print(n = ...)` to see more rows, and `colnames()` to see all variable names
Para facilitar el análisis se realiza una integración entre el dataframe donde tenemos los datos de origen por comunas para incluir esta información en el archivo geografico de comunas, en el cual totalizaremos la cantidad de viajes de origen por comuna. En una primera parte, totalizaremos la frecuencia de viajes por comuna.
pos=which(com>=1&com<=22)
origen=Encuesta2[pos,]
res=data.frame(table(origen$comuna_origen))
as.character(res$Var1)
## [1] "01" "02" "03" "04" "05" "06" "07" "08" "09" "10" "11" "12" "13" "14" "15"
## [16] "16" "17" "18" "19" "20" "21" "22"
res
## Var1 Freq
## 1 01 626
## 2 02 2250
## 3 03 1610
## 4 04 1193
## 5 05 521
## 6 06 797
## 7 07 583
## 8 08 862
## 9 09 737
## 10 10 1094
## 11 11 717
## 12 12 257
## 13 13 1031
## 14 14 575
## 15 15 974
## 16 16 836
## 17 17 1762
## 18 18 1208
## 19 19 2241
## 20 20 599
## 21 21 693
## 22 22 985
Posteriormente identificaremos en que posición se encuentra cada comuna en el shapefiles de comunas para poder conectar de forma correcta la información ente ambos archivos y lo pondremos en el mismo orden del shapefile
orden=comunas$comuna
orden
## [1] 2 1 3 19 15 17 18 22 6 4 5 7 8 9 21 13 12 14 11 10 20 16
res_orden= res[orden,]
res_orden
## Var1 Freq
## 2 02 2250
## 1 01 626
## 3 03 1610
## 19 19 2241
## 15 15 974
## 17 17 1762
## 18 18 1208
## 22 22 985
## 6 06 797
## 4 04 1193
## 5 05 521
## 7 07 583
## 8 08 862
## 9 09 737
## 21 21 693
## 13 13 1031
## 12 12 257
## 14 14 575
## 11 11 717
## 10 10 1094
## 20 20 599
## 16 16 836
Finalmente, agregamos la nueva columna del total de viajes originados desde cada comuna.
res_orden= res[orden,]
comunas@data$total_Origen=res_orden$Freq
comunas@data
## OBJECTID gid comuna nombre total_Origen
## 1 1 107 2 Comuna 2 2250
## 2 2 108 1 Comuna 1 626
## 3 3 109 3 Comuna 3 1610
## 4 4 110 19 Comuna 19 2241
## 5 5 103 15 Comuna 15 974
## 6 6 104 17 Comuna 17 1762
## 7 7 105 18 Comuna 18 1208
## 8 8 106 22 Comuna 22 985
## 9 9 89 6 Comuna 6 797
## 10 10 90 4 Comuna 4 1193
## 11 11 91 5 Comuna 5 521
## 12 12 92 7 Comuna 7 583
## 13 13 93 8 Comuna 8 862
## 14 14 94 9 Comuna 9 737
## 15 15 95 21 Comuna 21 693
## 16 16 96 13 Comuna 13 1031
## 17 17 97 12 Comuna 12 257
## 18 18 98 14 Comuna 14 575
## 19 19 99 11 Comuna 11 717
## 20 20 100 10 Comuna 10 1094
## 21 21 101 20 Comuna 20 599
## 22 22 102 16 Comuna 16 836
Teniendo en cuenta que nos solicitan un analisis por origen y destino, procederemos a preparar nuestros datos, repitiendo el último procedimiento para incluir en nuestro dataframe de comunas, el detalle de viajes de origen por los diferentes tipos de vehiculos. #Origen bicicletas##
pos=which(com>=1&com<=22&Encuesta2$TIPO_DE_VEHÍiCULO==1)
origen=Encuesta2[pos,]
res=data.frame(table(origen$comuna_origen))
orden=comunas$comuna
res_orden= res[orden,]
comunas@data$tot_origen_bicicleta=res_orden$Freq
head(comunas@data)
## OBJECTID gid comuna nombre total_Origen tot_origen_bicicleta
## 1 1 107 2 Comuna 2 2250 122
## 2 2 108 1 Comuna 1 626 32
## 3 3 109 3 Comuna 3 1610 84
## 4 4 110 19 Comuna 19 2241 113
## 5 5 103 15 Comuna 15 974 55
## 6 6 104 17 Comuna 17 1762 103
#Origen motos##
pos=which(com>=1&com<=22&Encuesta2$TIPO_DE_VEHÍiCULO==2)
origen=Encuesta2[pos,]
res=data.frame(table(origen$comuna_origen))
orden=comunas$comuna
res_orden= res[orden,]
comunas@data$tot_origen_Motos=res_orden$Freq
head(comunas@data)
## OBJECTID gid comuna nombre total_Origen tot_origen_bicicleta
## 1 1 107 2 Comuna 2 2250 122
## 2 2 108 1 Comuna 1 626 32
## 3 3 109 3 Comuna 3 1610 84
## 4 4 110 19 Comuna 19 2241 113
## 5 5 103 15 Comuna 15 974 55
## 6 6 104 17 Comuna 17 1762 103
## tot_origen_Motos
## 1 1063
## 2 296
## 3 702
## 4 995
## 5 455
## 6 853
#Origen carros##
pos=which(com>=1&com<=22&Encuesta2$TIPO_DE_VEHÍiCULO==3)
origen=Encuesta2[pos,]
res=data.frame(table(origen$comuna_origen))
orden=comunas$comuna
res_orden= res[orden,]
comunas@data$tot_origen_Carros=res_orden$Freq
head(comunas@data)
## OBJECTID gid comuna nombre total_Origen tot_origen_bicicleta
## 1 1 107 2 Comuna 2 2250 122
## 2 2 108 1 Comuna 1 626 32
## 3 3 109 3 Comuna 3 1610 84
## 4 4 110 19 Comuna 19 2241 113
## 5 5 103 15 Comuna 15 974 55
## 6 6 104 17 Comuna 17 1762 103
## tot_origen_Motos tot_origen_Carros
## 1 1063 860
## 2 296 234
## 3 702 679
## 4 995 923
## 5 455 377
## 6 853 662
Completando nuestro dataframe para la comuna de origen, ahora lo realizaremos para la comuna destino, empezando por el total y luego por los distintos tipos de vehiculo. ##Comuna Destino## Frecuencia total por comunas.
com=as.numeric(Encuesta$comuna_destino)
## Warning: NAs introducidos por coerción
pos=which(com>=1&com<=22)
destino=Encuesta2[pos,]
res=data.frame(table(origen$comuna_destino))
as.character(res$Var1)
## [1] "01" "02" "03" "04" "05" "06" "07" "08" "09" "10" "11" "12" "13" "14" "15"
## [16] "16" "17" "18" "19" "20" "21" "22"
Añadiremos la nueva columna de total de viajes recibidos o destino a cada comuna al dataframe de comunas, que ya cuenta con la información de viajes originadas desde cada comuna. Posteriormente seguiremos alimentando este dataframe para cada uno de los tipos de vehiculos utilizados
orden=comunas$comuna
res_orden= res[orden,]
comunas@data$total_destino=res_orden$Freq
comunas@data
## OBJECTID gid comuna nombre total_Origen tot_origen_bicicleta
## 1 1 107 2 Comuna 2 2250 122
## 2 2 108 1 Comuna 1 626 32
## 3 3 109 3 Comuna 3 1610 84
## 4 4 110 19 Comuna 19 2241 113
## 5 5 103 15 Comuna 15 974 55
## 6 6 104 17 Comuna 17 1762 103
## 7 7 105 18 Comuna 18 1208 85
## 8 8 106 22 Comuna 22 985 52
## 9 9 89 6 Comuna 6 797 29
## 10 10 90 4 Comuna 4 1193 58
## 11 11 91 5 Comuna 5 521 28
## 12 12 92 7 Comuna 7 583 30
## 13 13 93 8 Comuna 8 862 46
## 14 14 94 9 Comuna 9 737 36
## 15 15 95 21 Comuna 21 693 35
## 16 16 96 13 Comuna 13 1031 62
## 17 17 97 12 Comuna 12 257 10
## 18 18 98 14 Comuna 14 575 32
## 19 19 99 11 Comuna 11 717 42
## 20 20 100 10 Comuna 10 1094 71
## 21 21 101 20 Comuna 20 599 33
## 22 22 102 16 Comuna 16 836 65
## tot_origen_Motos tot_origen_Carros total_destino
## 1 1063 860 1518
## 2 296 234 73
## 3 702 679 1098
## 4 995 923 926
## 5 455 377 199
## 6 853 662 650
## 7 593 433 216
## 8 430 424 564
## 9 377 314 208
## 10 571 443 596
## 11 260 185 181
## 12 272 229 224
## 13 421 319 325
## 14 317 295 382
## 15 323 272 164
## 16 453 412 189
## 17 133 88 71
## 18 258 236 120
## 19 339 268 204
## 20 535 404 291
## 21 278 228 131
## 22 383 320 275
##Destino bicicleta##
pos=which(com>=1&com<=22&Encuesta2$TIPO_DE_VEHÍiCULO==1)
## Warning in com >= 1 & com <= 22 & Encuesta2$TIPO_DE_VEHÍiCULO == 1: longitud de
## objeto mayor no es múltiplo de la longitud de uno menor
destino=Encuesta2[pos,]
res=data.frame(table(destino$comuna_destino))
orden=comunas$comuna
res_orden= res[orden,]
comunas@data$total_destino_bicicleta=res_orden$Freq
head(comunas@data)
## OBJECTID gid comuna nombre total_Origen tot_origen_bicicleta
## 1 1 107 2 Comuna 2 2250 122
## 2 2 108 1 Comuna 1 626 32
## 3 3 109 3 Comuna 3 1610 84
## 4 4 110 19 Comuna 19 2241 113
## 5 5 103 15 Comuna 15 974 55
## 6 6 104 17 Comuna 17 1762 103
## tot_origen_Motos tot_origen_Carros total_destino total_destino_bicicleta
## 1 1063 860 1518 129
## 2 296 234 73 6
## 3 702 679 1098 125
## 4 995 923 926 104
## 5 455 377 199 14
## 6 853 662 650 80
##Destino motos##
pos=which(com>=1&com<=22&Encuesta2$TIPO_DE_VEHÍiCULO==2)
## Warning in com >= 1 & com <= 22 & Encuesta2$TIPO_DE_VEHÍiCULO == 2: longitud de
## objeto mayor no es múltiplo de la longitud de uno menor
destino=Encuesta2[pos,]
res=data.frame(table(destino$comuna_destino))
orden=comunas$comuna
res_orden= res[orden,]
comunas@data$total_destino_motos=res_orden$Freq
head(comunas@data)
## OBJECTID gid comuna nombre total_Origen tot_origen_bicicleta
## 1 1 107 2 Comuna 2 2250 122
## 2 2 108 1 Comuna 1 626 32
## 3 3 109 3 Comuna 3 1610 84
## 4 4 110 19 Comuna 19 2241 113
## 5 5 103 15 Comuna 15 974 55
## 6 6 104 17 Comuna 17 1762 103
## tot_origen_Motos tot_origen_Carros total_destino total_destino_bicicleta
## 1 1063 860 1518 129
## 2 296 234 73 6
## 3 702 679 1098 125
## 4 995 923 926 104
## 5 455 377 199 14
## 6 853 662 650 80
## total_destino_motos
## 1 1129
## 2 73
## 3 998
## 4 909
## 5 188
## 6 620
##Destino carros##
pos=which(com>=1&com<=22&Encuesta2$TIPO_DE_VEHÍiCULO==3)
## Warning in com >= 1 & com <= 22 & Encuesta2$TIPO_DE_VEHÍiCULO == 3: longitud de
## objeto mayor no es múltiplo de la longitud de uno menor
destino=Encuesta2[pos,]
res=data.frame(table(destino$comuna_destino))
orden=comunas$comuna
res_orden= res[orden,]
comunas@data$total_destino_carros=res_orden$Freq
head(comunas@data)
## OBJECTID gid comuna nombre total_Origen tot_origen_bicicleta
## 1 1 107 2 Comuna 2 2250 122
## 2 2 108 1 Comuna 1 626 32
## 3 3 109 3 Comuna 3 1610 84
## 4 4 110 19 Comuna 19 2241 113
## 5 5 103 15 Comuna 15 974 55
## 6 6 104 17 Comuna 17 1762 103
## tot_origen_Motos tot_origen_Carros total_destino total_destino_bicicleta
## 1 1063 860 1518 129
## 2 296 234 73 6
## 3 702 679 1098 125
## 4 995 923 926 104
## 5 455 377 199 14
## 6 853 662 650 80
## total_destino_motos total_destino_carros
## 1 1129 961
## 2 73 61
## 3 998 803
## 4 909 719
## 5 188 166
## 6 620 545
#Análisis origen# Para realizar el análisis de viajes por origen, consolidaremos la información a traves de mapas.
Mapa 1.Total de viajes desde cada comuna
MapTotOrigen=spplot(comunas[,5], col.regions= terrain.colors(120,.80,.4), sp.layout = spl, main="Total trayectos por comuna de origen")
MapTotOrigen
Mapa 2.Total de viajes desde cada comuna en bicicleta
MapTotOrigenBic=spplot(comunas[,6], col.regions= terrain.colors(120,.80,.4), sp.layout = spl, main="Total trayectos por comuna de origen en bicicleta")
MapTotOrigenBic
Mapa 3.Total de viajes desde cada comuna en moto
MapTotOrigenMoto=spplot(comunas[,7], col.regions= terrain.colors(120,.80,.4), sp.layout = spl, main="Total trayectos por comuna de origen en moto")
MapTotOrigenMoto
Mapa 4.Total de viajes desde cada comuna en carro
Mapaorigen=spplot(comunas[,8], col.regions= terrain.colors(120,.80,.4), sp.layout = spl, main="Mapas viajes origen desde cada comuna en carro")
Mapaorigen
Mapa 5.Comparación de viajes desde cada comuna por tipo de vehículo Para poder realizar el analisis,consolidaremos los mapas por tipo de vehiculo usado en el origen en una sola y lo compararemos con el mapa total de viajes de origen. No se realizan todos en una visualización, pues la escala de colores quedaría cooptada por el mapa principal y podria llevar a analisis incompletos o erroneos.
Análisis
Las comunas 2 y 19 ocupan el primer lugar de comunas donde se originan los viajes. En un segundo grupo, se ubican las comunas 17 y la 3. Es importante destacar que todas estas comunas se encuentran contiguas entre sí. De acuerdo a cifras de la alcaldia estas comunas tienen una población que supera los 100.000 habitantes, con excepción de la comuna 3 con 33.466 habitantes estimados. Esta cantidad de habitantes y tal vez la distancia a la que se encuentran de sus actividades comunes como trabajo y/o estudio incide en la mayor cantidad de viajes frente a las otras comunas de la ciudad.
El principal vehiculo utilizado en las comunas con mayor frecuencia de viajes de origen es la moto, seguido muy cerca por el carro. La incidencia de la bicicleta es muy baja frente a los 2 primeros tipos de vehiculos, sin embargo, son en la comunas 2, 19 y 17 donde se observa un mayor número de viajes en bicicleta en comparación a las otras dos comunas.
Mapaorigen=spplot(comunas[,6:8], col.regions= terrain.colors(120,.80,.4), sp.layout = spl, main="Comparación tipo de vehículo usado en viajes origen")
MapTotOrigen
Mapaorigen
#Análisis destino# Para realizar el análisis de viajes
por destino, consolidaremos la información a traves de mapas.
Mapa 6.Total de viajes hacia (destino) cada comuna
MapTotdestino=spplot(comunas[,9], col.regions= terrain.colors(120,.80,.4), sp.layout = spl, main="Total trayectos por comuna de destino")
MapTotdestino
Mapa 6.Total de viajes hacia (destino) cada comuna en bicicleta
MapTotdestinobic=spplot(comunas[,10], col.regions= terrain.colors(120,.80,.4), sp.layout = spl, main="Total trayectos hacia cada comuna en bicicleta")
MapTotdestinobic
Mapa 7.Total de viajes hacia (destino) cada comuna en moto
MapTotdestinomoto=spplot(comunas[,11], col.regions= terrain.colors(120,.80,.4), sp.layout = spl, main="Total trayectos hacia cada comuna en moto")
MapTotdestinomoto
Mapa 8.Total de viajes hacia (destino) cada comuna en
carro
MapTotdestinocarro=spplot(comunas[,12], col.regions= terrain.colors(120,.80,.4), sp.layout = spl, main="Total trayectos hacia cada comuna en carro")
MapTotdestinocarro
Mapa 9.Comparación de viajes desde cada comuna por tipo de vehículo Para poder realizar el analisis,consolidaremos los mapas por tipo de vehiculo usado en el destino en una sola y lo compararemos con el mapa total de viajes de destino.
Análisis
Las comunas 2 y 3 ocupan el primer lugar de comunas hacia donde se dirigen los viajes. En un segundo grupo, se ubican las comunas 19, 17 y la 4.
El principal vehiculo utilizado en las comunas con mayor frecuencia de viajes de origen es la moto, seguido muy cerca por el carro. La incidencia de la bicicleta es muy baja frente a los 2 primeros tipos de vehiculos, sin embargo, al igual que en el análisis de viajes origen son en la comunas 2, 19 y 17 donde se observa un mayor número de viajes en bicicleta en comparación a las otras comunas.
Mapadestino=spplot(comunas[,10:12], col.regions= terrain.colors(120,.80,.4), sp.layout = spl, main="Comparación tipo de vehículo usado en destino")
MapTotdestino
Mapadestino
Conclusiones
Se encuentran similitudes entre las comunas que concentran los viajes de origen y destino, donde la comuna 2 ocupa el primer lugar para ambos tipos de viajes. Las otras tres comunas que ocupan los primeros lugares son la 3, 17 y 19.
En el caso del tipo de vehiculos usados, la moto se convierte en el vehículo más usado, seguido del carro. La bicicleta es el medio menos usado, pero en las comunas que concentran la mayor cantidad de viajes de origen y destino, tiene una mayor cantidad de viajes en ese tipo de vehiculo en comparación a las otras comunas.