#install.packages("rlang", INSTALL_opts = '--no-lock')
class(encuesta_origen_destino)
## [1] "tbl_df" "tbl" "data.frame"
encuesta_origen_destino = encuesta_origen_destino %>% clean_names()%>% dplyr::select(c("comuna_origen","comuna_destino", "tipo_de_vehiculo"))
#se realiza la eliminación de los valores que no aportan al análisis en las variables comuna origen y destino.
encuesta_origendestino2<-encuesta_origen_destino[encuesta_origen_destino$comuna_origen!="Fuera de Cali" & encuesta_origen_destino$comuna_destino!= "Fuera de Cali" & encuesta_origen_destino$comuna_origen!= "0" & encuesta_origen_destino$comuna_destino!= "0", ]
encuesta_origen_destino=na.omit(encuesta_origen_destino)
#Vamos a cargar el shapefile que contiene la data geografica por comunas SHAPEFILE # se observa que el archivo tiene definido el CRS (Coordinate Reference System)
comunas=shapefile("C:/Users/asus/Desktop/informacion_geografica/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
#creación de etiquetas
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,.95,.4), sp.layout = spl, main = "Comunas")
g1
#Limpieza de datos encuesta origen -destino
#limpieza de datos para volverlos numericos o caracter
# numerico el tipo de vehiculo
com=as.numeric(encuesta_origendestino2$tipo_de_vehiculo)
#volver numericos la comunidad origen y lo q tenga caracter se coloca como nulo
com=as.numeric(encuesta_origendestino2$comuna_origen)
#seleccionamos los datos para los origenes
pos=which(com>=1&com<=22)
origenes=encuesta_origendestino2[pos,]
res=data.frame(table(origenes$comuna_origen))
# cuando se vaya a relacionar la informacion es mejor tenerla en tipo caracter
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"
# dejar en orden en el mismo orden del shape de las comunas
#ejemplo uno, de orden
orden=comunas$comuna
res_orden= res[orden,]
comunas@data$total_Origen=res_orden$Freq
# se valida que quedo el campo creado
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
g2=spplot(comunas[,5], col.regions= heat.colors(20,.95,.4), sp.layout = spl, main="Total de trayectos comuna de origen")
g2
pos=which(com>=1&com<=22&encuesta_origendestino2$tipo_de_vehiculo==1)
origenes=encuesta_origendestino2[pos,]
res=data.frame(table(origenes$comuna_origen))
orden=comunas$comuna
res_orden= res[orden,]
comunas@data$total_origen_bici=res_orden$Freq
head(comunas@data)
## OBJECTID gid comuna nombre total_Origen total_origen_bici
## 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
lbls = as.character(comunas$comuna)
spl = list('sp.text', coordinates(comunas), lbls, cex=.6)
spl[[2]][7,]=spl[[2]][7,]+0.005 # este es para la comuna 21 que es como una L para correr el centroide
g3=spplot(comunas[,6], col.regions= heat.colors(20,.95,.4), sp.layout = spl, main="comuna de origen_bicicleta")
g3
#caso Origenes Moto
pos=which(com>=1&com<=22&encuesta_origendestino2$tipo_de_vehiculo==2)
origenes=encuesta_origendestino2[pos,]
res=data.frame(table(origenes$comuna_origen))
orden=comunas$comuna
res_orden= res[orden,]
comunas@data$total_Origen_moto=res_orden$Freq
head(comunas@data)
## OBJECTID gid comuna nombre total_Origen total_origen_bici
## 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
## total_Origen_moto
## 1 1063
## 2 296
## 3 702
## 4 995
## 5 455
## 6 853
g4=spplot(comunas[,7], col.regions= heat.colors(20,.95,.4), sp.layout = spl, main= "comuna de origen_moto")
g4
pos=which(com>=1&com<=22&encuesta_origendestino2$tipo_de_vehiculo==3)
origenes=encuesta_origendestino2[pos,]
res=data.frame(table(origenes$comuna_origen))
orden=comunas$comuna
res_orden= res[orden,]
comunas@data$total_Origen_carro=res_orden$Freq
head(comunas@data)
## OBJECTID gid comuna nombre total_Origen total_origen_bici
## 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
## total_Origen_moto total_Origen_carro
## 1 1063 860
## 2 296 234
## 3 702 679
## 4 995 923
## 5 455 377
## 6 853 662
g5=spplot(comunas[,8], col.regions= heat.colors(20,.95,.4), sp.layout = spl, main="comuna de origen_carro")
g5
mapa_completo=spplot(comunas[,5:8], col.regions= heat.colors(20,.95,.4), sp.layout = spl, main="total mapas origenes")
mapa_completo
#comunas@data$tasa_origen_bici=comunas@data$total_origen_bici/comunas@data$total_Origen
#comunas@data$tasa_origen_moto=comunas@data$total_Origen_moto/comunas@data$total_Origen
#comunas@data$tasa_origen_moto=comunas@data$total_Origen_carro/comunas@data$total_Origen
com=as.numeric(encuesta_origendestino2$comuna_destino)
#seleccion solo de las columnas que tienen informacion
pos=which(com>=1&com<=22)
destino=encuesta_origendestino2[pos,]
res=data.frame(table(origenes$comuna_destino))
# cuando se vaya a relacionar la informacion es mejor tenerla en tipo caracter
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"
orden=comunas$comuna
res_orden= res[orden,]
comunas@data$total_destino=res_orden$Freq
# se valida que quedo el campo creado
comunas@data
## OBJECTID gid comuna nombre total_Origen total_origen_bici
## 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
## total_Origen_moto total_Origen_carro 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
g_destino=spplot(comunas[,9], col.regions= heat.colors(20,.95,.4), sp.layout = spl, main="comuna de destino")
g_destino
pos=which(com>=1&com<=22&encuesta_origendestino2$tipo_de_vehiculo==1)
destino=encuesta_origendestino2[pos,]
res=data.frame(table(destino$comuna_destino))
orden=comunas$comuna
res_orden= res[orden,]
comunas@data$total_destino_bici=res_orden$Freq
head(comunas@data)
## OBJECTID gid comuna nombre total_Origen total_origen_bici
## 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
## total_Origen_moto total_Origen_carro total_destino total_destino_bici
## 1 1063 860 1518 194
## 2 296 234 73 9
## 3 702 679 1098 169
## 4 995 923 926 131
## 5 455 377 199 17
## 6 853 662 650 95
g_destino_bicicleta=spplot(comunas[,10], col.regions= heat.colors(20,.95,.4), sp.layout = spl, main="Comuna por destino_bicicleta")
g_destino_bicicleta
pos=which(com>=1&com<=22&encuesta_origendestino2$tipo_de_vehiculo==2)
destino=encuesta_origendestino2[pos,]
res=data.frame(table(destino$comuna_destino))
orden=comunas$comuna
res_orden= res[orden,]
comunas@data$total_destino_moto=res_orden$Freq
head(comunas@data)
## OBJECTID gid comuna nombre total_Origen total_origen_bici
## 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
## total_Origen_moto total_Origen_carro total_destino total_destino_bici
## 1 1063 860 1518 194
## 2 296 234 73 9
## 3 702 679 1098 169
## 4 995 923 926 131
## 5 455 377 199 17
## 6 853 662 650 95
## total_destino_moto
## 1 1734
## 2 90
## 3 1333
## 4 1152
## 5 232
## 6 744
g_destino_moto=spplot(comunas[,11], col.regions= heat.colors(20,.95,.4), sp.layout = spl, main="comuna por destino_moto")
g_destino_moto
pos=which(com>=1&com<=22&encuesta_origendestino2$tipo_de_vehiculo==3)
destino=encuesta_origendestino2[pos,]
res=data.frame(table(destino$comuna_destino))
orden=comunas$comuna
res_orden= res[orden,]
comunas@data$total_destino_carro=res_orden$Freq
head(comunas@data)
## OBJECTID gid comuna nombre total_Origen total_origen_bici
## 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
## total_Origen_moto total_Origen_carro total_destino total_destino_bici
## 1 1063 860 1518 194
## 2 296 234 73 9
## 3 702 679 1098 169
## 4 995 923 926 131
## 5 455 377 199 17
## 6 853 662 650 95
## total_destino_moto total_destino_carro
## 1 1734 1518
## 2 90 73
## 3 1333 1098
## 4 1152 926
## 5 232 199
## 6 744 650
g_destino_carro=spplot(comunas[,12], col.regions= heat.colors(20,.95,.4), sp.layout = spl, main="comuna por destino_carro")
g_destino_carro
mapa_completo2=spplot(comunas[,9:12], col.regions= heat.colors(20,.95,.4), sp.layout = spl, main="total mapas destinos")
mapa_completo2
La comuna 2, 19 y 17 son las que tienen mayor número de trayectos por origen. Frente al uso de la bicicleta y moto y carro, los usuarios de origen son en si mayoría los de la comuna 2 y 19. Una menor proporcion de usuarios tiene trayectos en bici desde su origen a diferencia de la moto y el carro, que tienen proporciones similares.
Frente a los destinos, las comunas 2 y 3 son los más frecuentes en la ciudad de Cali.