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.