knitr::opts_chunk$set(echo = TRUE, message = TRUE, warning = TRUE)

Llamamos la librerias y el archivo comunas de cali.

Archivo inicial de comunas

comunas@data

Llamamos la base de datos encuesta de origen y destino

require(readxl)
Encuesta_ori_des= read_excel("C:/Users/TELEMATICA/Desktop/archivos para r/informacion geografica/EncuestaOrigenDestino.xlsx", 
    sheet = "Sheet4")
Encuesta_ori_des

convertimos los datos de la columna a numericos

com=as.numeric(Encuesta_ori_des$comunaorigen)

filtramos de la comuna 1 a la 22

posicion=which(com>=1&com<=22)

contamos la cantidad por comuna origen y lo presentamos en data frame

origenes=Encuesta_ori_des[posicion,]
table(origenes$comunaorigen)
## 
##   01   02   03   04   05   06   07   08   09   10   11   12   13   14   15   16 
##  794 2968 2121 1493  664  998  734 1124  952 1401  925  348 1238  685 1171  993 
##   17   18   19   20   21   22 
## 2377 1536 2850  733  818 1153
resultado=data.frame(table(origenes$comunaorigen))

Ordenamos las comunas igual en las dos bases

as.character(resultado$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
result_orden=resultado[orden,]
result_orden

Creamos la columna total origenes con los valores

comunas@data$total_origenes=result_orden$Freq
comunas@data

Forma de que aparezca la informacion dentro del mapa

lbls =paste(as.character(comunas$comuna),"-",comunas$total_origenes)
spl = list('sp.text', coordinates(comunas), lbls, cex=.5)
spl[[2]][7,]=spl[[2]][7,]+0.005

Graficamos los datos de origen de la columna 5

g2=spplot(comunas[,5], col.regions= heat.colors(20,.95,.4), sp.layout = spl)
g2

filtramos de la comuna 1 a la 22

posicion=which(com>=1&com<=22&Encuesta_ori_des$TIPODEVEHICULO=="1")

contamos la cantidad por comuna origen y lo presentamos en data frame

origenes=Encuesta_ori_des[posicion,]
table(origenes$comunaorigen)
## 
## 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 
##  4 37 15 16 10 15  5  6 17 11 10  4 14  5 15  8 38 26 28 13  9  3
resultado=data.frame(table(origenes$comunaorigen))

Ordenamos las comunas igual en las dos bases

as.character(resultado$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
result_orden=resultado[orden,]
result_orden

Creamos la columna total origenes bici con los valores

comunas@data$total_origen_bici=result_orden$Freq
comunas@data

Forma de que aparezca la informacion dentro del mapa

lbls =paste(as.character(comunas$comuna),"-",comunas$total_origen_bici)
spl = list('sp.text', coordinates(comunas), lbls, cex=.5)
spl[[2]][7,]=spl[[2]][7,]+0.005

Graficamos los datos de origen de la columna 6

g3=spplot(comunas[,6], col.regions= terrain.colors(20,.95,.4), sp.layout = spl)
g3

filtramos de la comuna 1 a la 22-con el tipo de vehiculo moto

posicion=which(com>=1&com<=22&Encuesta_ori_des$TIPODEVEHICULO=="2")

contamos la cantidad por comuna origen y lo presentamos en data frame

origenes=Encuesta_ori_des[posicion,]
table(origenes$comunaorigen)
## 
##   01   02   03   04   05   06   07   08   09   10   11   12   13   14   15   16 
##  375 1414  970  720  319  473  350  552  413  675  431  176  554  310  536  450 
##   17   18   19   20   21   22 
## 1136  746 1280  339  378  515
resultado=data.frame(table(origenes$comunaorigen))

Ordenamos las comunas igual en las dos bases

as.character(resultado$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
result_orden=resultado[orden,]
result_orden

Creamos la columna total origenes moto con los valores

comunas@data$total_origen_moto=result_orden$Freq
comunas@data

Forma de que aparezca la informacion dentro del mapa

lbls =paste(as.character(comunas$comuna),"-",comunas$total_origen_moto)
spl = list('sp.text', coordinates(comunas), lbls, cex=.5)
spl[[2]][7,]=spl[[2]][7,]+0.005

Graficamos los datos de origen de lacolumna 7

g4=spplot(comunas[,7], col.regions= heat.colors(20,.95,.4), sp.layout = spl)
g4

filtramos de la comuna 1 a la 22-tipo de vehiculo carro

posicion=which(com>=1&com<=22&Encuesta_ori_des$TIPODEVEHICULO=="3")

contamos la cantidad por comuna origen y lo presentamos en data frame

origenes=Encuesta_ori_des[posicion,]
table(origenes$comunaorigen)
## 
##   01   02   03   04   05   06   07   08   09   10   11   12   13   14   15   16 
##  301 1121  854  551  241  389  283  420  382  529  361  123  486  272  456  385 
##   17   18   19   20   21   22 
##  899  559 1165  272  328  489
resultado=data.frame(table(origenes$comunaorigen))

Ordenamos las comunas igual en las dos bases

as.character(resultado$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
result_orden=resultado[orden,]
result_orden

Creamos la columna total origenes carro con los valores

comunas@data$total_origen_carro=result_orden$Freq
comunas@data

Forma de que aparezca la informacion dentro del mapa

lbls =paste(as.character(comunas$comuna),"-",comunas$total_origen_carro)
spl = list('sp.text', coordinates(comunas), lbls, cex=.5)
spl[[2]][7,]=spl[[2]][7,]+0.005

Graficamos los datos de origen de la columna 8

g5=spplot(comunas[,8], col.regions= heat.colors(20,.95,.4), sp.layout = spl)
g5

Ahora vamos a iniciar con la informacion de la comuna destino Nuevamente verificamos que los datos queden en numericos

com=as.numeric(Encuesta_ori_des$comunadestino)

filtramos de la comuna 1 a la 22

posicion=which(com>=1&com<=22)

contamos la cantidad por comuna destino y lo presentamos en data frame

destino=Encuesta_ori_des[posicion,]
table(destino$comunadestino)
## 
##   01   02   03   04   05   06   07   08   09   10   11   12   13   14   15   16 
##  230 4810 3859 1856  522  716  748 1025 1279  927  564  246  673  379  579  743 
##   17   18   19   20   21   22 
## 2164  662 3158  351  515 1860
resultado=data.frame(table(destino$comunadestino))

Ordenamos las comunas igual en las dos bases

as.character(resultado$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
result_orden=resultado[orden,]
result_orden

Creamos la columna total destino con los valores

comunas@data$total_destino=result_orden$Freq
comunas@data

Forma de que aparezca la informacion dentro del mapa

lbls =paste(as.character(comunas$comuna),"-",comunas$total_destino)
spl = list('sp.text', coordinates(comunas), lbls, cex=.5)
spl[[2]][7,]=spl[[2]][7,]+0.005

Graficamos los datos de origen de la columna 9

g6=spplot(comunas[,9], col.regions= heat.colors(20,.95,.4), sp.layout = spl)
g6

filtramos de la comuna 1 a la 22

posicion=which(com>=1&com<=22&Encuesta_ori_des$TIPODEVEHICULO=="1")

contamos la cantidad por comuna destino y lo presentamos en data frame

destino=Encuesta_ori_des[posicion,]
table(destino$comunadestino)
## 
## 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 
##  3 24 20  5  3  3  5  8  9  9  3  2  5  2  3  4 20  3 16  3  2  5
resultado=data.frame(table(destino$comunadestino))

Ordenamos las comunas igual en las dos bases

as.character(resultado$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
result_orden=resultado[orden,]
result_orden

Creamos la columna total destino bici con los valores

comunas@data$total_destino_bici=result_orden$Freq
comunas@data

Forma de que aparezca la informacion dentro del mapa

lbls =paste(as.character(comunas$comuna),"-",comunas$total_destino_bici)
spl = list('sp.text', coordinates(comunas), lbls, cex=.5)
spl[[2]][7,]=spl[[2]][7,]+0.005

Graficamos los datos de origen de la columna 10

g7=spplot(comunas[,10], col.regions= terrain.colors(20,.95,.4), sp.layout = spl)
g7

filtramos de la comuna 1 a la 22

posicion=which(com>=1&com<=22&Encuesta_ori_des$TIPODEVEHICULO=="2")

contamos la cantidad por comuna destino-moto y lo presentamos en data frame

destino=Encuesta_ori_des[posicion,]
table(destino$comunadestino)
## 
##   01   02   03   04   05   06   07   08   09   10   11   12   13   14   15   16 
##  112 2177 1734  846  215  323  353  470  608  419  254  128  346  188  271  327 
##   17   18   19   20   21   22 
##  927  302 1421  151  243  911
resultado=data.frame(table(destino$comunadestino))

Ordenamos las comunas igual en las dos bases

as.character(resultado$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
result_orden=resultado[orden,]
result_orden

Creamos la columna total destino moto con los valores

comunas@data$total_destino_moto=result_orden$Freq
comunas@data

Forma de que aparezca la informacion dentro del mapa

lbls =paste(as.character(comunas$comuna),"-",comunas$total_destino_moto)
spl = list('sp.text', coordinates(comunas), lbls, cex=.5)
spl[[2]][7,]=spl[[2]][7,]+0.005

Graficamos los datos de origen de la columna 11

g8=spplot(comunas[,11], col.regions= heat.colors(20,.95,.4), sp.layout = spl)
g8

filtramos de la comuna 1 a la 22

posicion=which(com>=1&com<=22&Encuesta_ori_des$TIPODEVEHICULO=="3")

contamos la cantidad por comuna destino y lo presentamos en data frame

destino=Encuesta_ori_des[posicion,]
table(destino$comunadestino)
## 
##   01   02   03   04   05   06   07   08   09   10   11   12   13   14   15   16 
##   86 2006 1557  757  225  275  286  403  489  384  239   85  226  138  245  321 
##   17   18   19   20   21   22 
##  959  276 1302  144  198  694
resultado=data.frame(table(destino$comunadestino))

Ordenamos las comunas igual en las dos bases

as.character(resultado$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
result_orden=resultado[orden,]
result_orden

Creamos la columna total destino carro con los valores

comunas@data$total_destino_carro=result_orden$Freq
comunas@data

Forma de que aparezca la informacion dentro del mapa

lbls =paste(as.character(comunas$comuna),"-",comunas$total_destino_carro)
spl = list('sp.text', coordinates(comunas), lbls, cex=.5)
spl[[2]][7,]=spl[[2]][7,]+0.005

Graficamos los datos de origen d ela columna 12

g9=spplot(comunas[,12], col.regions= heat.colors(20,.95,.4), sp.layout = spl)
g9

De esta forma damos por culminada la actividad de crear los 8 mapas segun el ejercicio expuesto.