Para empezar se realiza la instalación e importación de las librerias y los datos y se muestra el dataframe para observar sus características generales.
#devtools::install_github("dgonxalex80/paqueteMODELOS", force = TRUE) #descarga paquete
library(paqueteMODELOS)
data("vivienda") # Datos
head(vivienda,5)
## id zona piso estrato preciom areaconst parqueaderos banios
## 1 1147 Zona Oriente <NA> 3 250 70 1 3
## 2 1169 Zona Oriente <NA> 3 320 120 1 2
## 3 1350 Zona Oriente <NA> 3 350 220 2 2
## 4 5992 Zona Sur 02 4 400 280 3 5
## 5 1212 Zona Norte 01 5 260 90 1 2
## habitaciones tipo barrio longitud latitud
## 1 6 Casa 20 de julio -76.51168 3.43382
## 2 3 Casa 20 de julio -76.51237 3.43369
## 3 4 Casa 20 de julio -76.51537 3.43566
## 4 3 Casa 3 de julio -76.54000 3.43500
## 5 3 Apartamento acopi -76.51350 3.45891
A continuación se utiliza la función str() para observar sus dimeciones, tipos de variables y demás.
str(vivienda)
## Classes 'spec_tbl_df', 'tbl_df', 'tbl' and 'data.frame': 8322 obs. of 13 variables:
## $ id : num 1147 1169 1350 5992 1212 ...
## $ zona : chr "Zona Oriente" "Zona Oriente" "Zona Oriente" "Zona Sur" ...
## $ piso : chr NA NA NA "02" ...
## $ estrato : num 3 3 3 4 5 5 4 5 5 5 ...
## $ preciom : num 250 320 350 400 260 240 220 310 320 780 ...
## $ areaconst : num 70 120 220 280 90 87 52 137 150 380 ...
## $ parqueaderos: num 1 1 2 3 1 1 2 2 2 2 ...
## $ banios : num 3 2 2 5 2 3 2 3 4 3 ...
## $ habitaciones: num 6 3 4 3 3 3 3 4 6 3 ...
## $ tipo : chr "Casa" "Casa" "Casa" "Casa" ...
## $ barrio : chr "20 de julio" "20 de julio" "20 de julio" "3 de julio" ...
## $ longitud : num -76.5 -76.5 -76.5 -76.5 -76.5 ...
## $ latitud : num 3.43 3.43 3.44 3.44 3.46 ...
## - attr(*, "spec")=List of 3
## ..$ cols :List of 13
## .. ..$ id : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ zona : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
## .. ..$ piso : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
## .. ..$ estrato : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ preciom : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ areaconst : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ parqueaderos: list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ banios : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ habitaciones: list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ tipo : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
## .. ..$ barrio : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
## .. ..$ longitud : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ latitud : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## ..$ default: list()
## .. ..- attr(*, "class")= chr [1:2] "collector_guess" "collector"
## ..$ delim : chr ";"
## ..- attr(*, "class")= chr "col_spec"
## - attr(*, "problems")=<externalptr>
Seguidamente para validar la existencia de valores faltantes se realiza el siguiente código.
valores_faltantes <- colSums(is.na(vivienda))
data.frame(column = names(valores_faltantes), missing_count = valores_faltantes)
## column missing_count
## id id 3
## zona zona 3
## piso piso 2638
## estrato estrato 3
## preciom preciom 2
## areaconst areaconst 3
## parqueaderos parqueaderos 1605
## banios banios 3
## habitaciones habitaciones 3
## tipo tipo 3
## barrio barrio 3
## longitud longitud 3
## latitud latitud 3
Se encuentra que todas las variables tienen datos faltantes, sin embargo las variables piso y parqueaderos son las que presentan en mayor medida esta falencia con 2638 y 1605 respectivamente.
Seguidamente se realizan histogramas para cada variable de manera que se pueda ver el comportamiento de los datos para cada una de estas.
hist(x = vivienda$preciom,
main = "Precios",
xlab = "Precio", ylab = "Frecuencia",
col = "blue")
hist(x = vivienda$areaconst,
main = "Áreas",
xlab = "Área", ylab = "Frecuencia",
col = "red")
hist(x = vivienda$banios,
main = "Número de Baños",
xlab = "Número de Baños", ylab = "Frecuencia",
col = "orange")
hist(x = vivienda$habitaciones,
main = "Número de Habitaciones",
xlab = "Número de Habitaciones", ylab = "Frecuencia",
col = "turquoise")
hist(x = vivienda$parqueaderos,
main = "Número de Habitaciones",
xlab = "Número de Habitaciones", ylab = "Frecuencia",
col = "lightblue")
A continuación se realizan imputaciones de los valores de parqueaderos. Dado que parqueaderos es una variable numérica discreta que hace referencia al conteo de parqueaderos se realiza una imputacion mediante la mediana. Finalmente se validan las dimensiones del dataset.
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
#imputaciones parqueaderos
dfvivienda <- vivienda
mediana_parqueaderos <- median(dfvivienda$parqueaderos, na.rm = TRUE)
dfvivienda$parqueaderos[is.na(dfvivienda$parqueaderos)] <- mediana_parqueaderos
dim(dfvivienda)
## [1] 8322 13
Por otro lado dado que la columna de piso presenta datos faltantes de mas del 25% del total de datos se elimina, pues una imputación de tantos datos podría generar sesgos.
dfvivienda <- subset(dfvivienda, select = -c(piso))
A continuación teniendo en mente que las demás columnas tambien tienen valores faltantes pero estos no superan la cantidad de 3, de los 8322 totales simplemente se opta por eliminar estas filas y se validan las dimensiones del dataframe.
dfvivienda <- dfvivienda %>%
filter_all(all_vars(!is.na(.)))
dim(dfvivienda)
## [1] 8319 12
Como se ve en total solo se disminuyó en 3 el total de filas bajando de 8322 a 8319.
Procedemos así a hacer el encoding de las variables categóricas de zona y tipo. Para se hace un encoding automático a las variables barrio, tipo y zona mediante la funcion factor() y convirtiendo el resultado en numérico.
dfvivienda$barrio_encoded <- as.numeric(factor(dfvivienda$barrio))
dfvivienda$tipo_encoded <- as.numeric(factor(dfvivienda$tipo))
dfvivienda$zona_encoded <- as.numeric(factor(dfvivienda$zona))
str(dfvivienda)
## spc_tbl_ [8,319 × 15] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ id : num [1:8319] 1147 1169 1350 5992 1212 ...
## $ zona : chr [1:8319] "Zona Oriente" "Zona Oriente" "Zona Oriente" "Zona Sur" ...
## $ estrato : num [1:8319] 3 3 3 4 5 5 4 5 5 5 ...
## $ preciom : num [1:8319] 250 320 350 400 260 240 220 310 320 780 ...
## $ areaconst : num [1:8319] 70 120 220 280 90 87 52 137 150 380 ...
## $ parqueaderos : num [1:8319] 1 1 2 3 1 1 2 2 2 2 ...
## $ banios : num [1:8319] 3 2 2 5 2 3 2 3 4 3 ...
## $ habitaciones : num [1:8319] 6 3 4 3 3 3 3 4 6 3 ...
## $ tipo : chr [1:8319] "Casa" "Casa" "Casa" "Casa" ...
## $ barrio : chr [1:8319] "20 de julio" "20 de julio" "20 de julio" "3 de julio" ...
## $ longitud : num [1:8319] -76.5 -76.5 -76.5 -76.5 -76.5 ...
## $ latitud : num [1:8319] 3.43 3.43 3.44 3.44 3.46 ...
## $ barrio_encoded: num [1:8319] 1 1 1 2 3 3 3 3 3 3 ...
## $ tipo_encoded : num [1:8319] 2 2 2 2 1 1 1 1 2 2 ...
## $ zona_encoded : num [1:8319] 4 4 4 5 2 2 2 2 2 2 ...
## - attr(*, "spec")=List of 3
## ..$ cols :List of 13
## .. ..$ id : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ zona : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
## .. ..$ piso : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
## .. ..$ estrato : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ preciom : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ areaconst : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ parqueaderos: list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ banios : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ habitaciones: list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ tipo : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
## .. ..$ barrio : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
## .. ..$ longitud : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ latitud : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## ..$ default: list()
## .. ..- attr(*, "class")= chr [1:2] "collector_guess" "collector"
## ..$ delim : chr ";"
## ..- attr(*, "class")= chr "col_spec"
## - attr(*, "problems")=<externalptr>
Seguidamente se crean dos dataframes uno para el analisis de componentes principales y el analisis de conglomerados y otro con variables categóricas para el analisis de correspondencia.
dfvivienda1 <- subset(dfvivienda, select = -c(zona_encoded,zona,barrio_encoded,barrio,tipo_encoded,tipo,longitud,latitud))
dfvivienda2 <- subset(dfvivienda, select = -c(zona,barrio_encoded,barrio,tipo_encoded,tipo,longitud,latitud))
dfvivienda3 <- subset(dfvivienda, select = c(id,zona_encoded,zona,barrio_encoded,barrio,tipo_encoded,tipo))
dfvivienda4 <- subset(dfvivienda, select = c(id,zona_encoded,zona,barrio_encoded,barrio,tipo_encoded,tipo,estrato))
Análisis de Componentes Principales: Reducir la dimensionalidad del conjunto de datos y visualizar la estructura de las variables en componentes principales para identificar características clave que influyen en la variación de precios y preferencias del mercado.
Se inicia verificando los datos a utilizar.
dim(dfvivienda1)
## [1] 8319 7
head(dfvivienda1,3)
## # A tibble: 3 × 7
## id estrato preciom areaconst parqueaderos banios habitaciones
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1147 3 250 70 1 3 6
## 2 1169 3 320 120 1 2 3
## 3 1350 3 350 220 2 2 4
apply(X = dfvivienda1[,2:7], MARGIN = 2, FUN = var)
## estrato preciom areaconst parqueaderos banios habitaciones
## 1.059298e+00 1.080207e+05 2.043874e+04 1.025931e+00 2.039784e+00 2.130248e+00
Aplicamos el análisis de componentes principales.
acp <- prcomp(dfvivienda1[,2:7], scale = TRUE)
acp
## Standard deviations (1, .., p=6):
## [1] 1.8346512 1.0957956 0.7890282 0.6229765 0.4869034 0.4307517
##
## Rotation (n x k) = (6 x 6):
## PC1 PC2 PC3 PC4 PC5 PC6
## estrato 0.3053339 -0.6314557 0.46567443 -0.1939375 0.4568797 0.2117342
## preciom 0.4805544 -0.2515172 -0.01744926 0.2627551 -0.1791828 -0.7774030
## areaconst 0.4567966 0.1902844 -0.11350866 0.7257528 0.1839350 0.4262574
## parqueaderos 0.3938199 -0.1258597 -0.77914893 -0.4397503 0.1113150 0.1273612
## banios 0.4705181 0.1517863 0.32361761 -0.2846612 -0.6935003 0.2981118
## habitaciones 0.3011546 0.6803785 0.24115808 -0.3036753 0.4816521 -0.2530344
#install.packages("factoextra")
library(ggplot2)
library(factoextra)
## Warning: package 'factoextra' was built under R version 4.2.3
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
fviz_pca_ind(acp, geom.ind = "point",
col.ind = "turquoise",
axes = c(1, 2),
pointsize = 1.5)
fviz_screeplot(acp, addlabels = TRUE, ylim = c(0, 100))
Encontramos que el componente principal representa mas de la mitad de la variación con el 56.1%, seguido del segundo componente con 20% de la variación.
fviz_contrib(acp, choice = "var", axes = 1, top = 10) # PC1
fviz_contrib(acp, choice = "var", axes = 2, top = 10) # PC2
fviz_pca_var(acp,
col.var = "contrib",
gradient.cols = c("turquoise", "blue"),
repel = TRUE)
Al analizar todas las gráficas y tablas que acabamos de generar tenemos en primera instancia que no se evidencian clusters a simple vista, adicionalmente se encuentra que el PC1 representa el 48.3% de la variación, PC2 representa el 19.2% de la variación y los componentes 3, 4, 5, 6 y 7 representan el 8.6%, 5.5%, 3.4% y 2.6% del a variación respeectivamente. Por otro lado se encuentra que las variables areaconst, banios y preciom contribuyen en mayor medida a PC1 mientras que las variables estrato y habitaciones contribuyen en mayor medida a PC2.
Análisis de Conglomerados: Agrupar las propiedades residenciales en segmentos homogéneos con características similares para entender las dinámicas y demandas específicas en diferentes partes de la ciudad y en diferentes estratos socioeconómicos.
iniciamos validanto los datos a a tomar para este punto.
dim(dfvivienda2)
## [1] 8319 8
head(dfvivienda2,3)
## # A tibble: 3 × 8
## id estrato preciom areaconst parqueaderos banios habitaciones zona_encoded
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1147 3 250 70 1 3 6 4
## 2 1169 3 320 120 1 2 3 4
## 3 1350 3 350 220 2 2 4 4
continuamos escalando la data a utilizar.
dfvivienda2_z <- scale(dfvivienda2[,2:8])
dfvivienda2_z <- as.data.frame(dfvivienda2_z)
head(dfvivienda2_z,6)
## estrato preciom areaconst parqueaderos banios habitaciones
## 1 -1.5872276 -0.5595498 -0.7339949 -0.8559050 -0.07793773 1.6406840
## 2 -1.5872276 -0.3465670 -0.3842568 -0.8559050 -0.77811479 -0.4147626
## 3 -1.5872276 -0.2552886 0.3152194 0.1313764 -0.77811479 0.2703863
## 4 -0.6156201 -0.1031580 0.7349051 1.1186578 1.32241640 -0.4147626
## 5 0.3559875 -0.5291236 -0.5940997 -0.8559050 -0.77811479 -0.4147626
## 6 0.3559875 -0.5899759 -0.6150839 -0.8559050 -0.07793773 -0.4147626
## zona_encoded
## 1 0.06192582
## 2 0.06192582
## 3 0.06192582
## 4 0.81508501
## 5 -1.44439256
## 6 -1.44439256
Seguidamente se realizan graficos de puntos para diferentes pares de variables.
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
## ✔ tibble 3.1.8 ✔ purrr 1.0.1
## ✔ tidyr 1.3.0 ✔ stringr 1.5.0
## ✔ readr 2.1.4 ✔ forcats 1.0.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
# distancia euclidiana
dist_viv <- dist(dfvivienda2_z, method = 'euclidean')
# Cluster jerarquico con el método complete
hc_viv <- hclust(dist_viv, method = 'complete')
# Determinamos a dónde pertenece cada observación
cluster_assigments <- cutree(hc_viv, k = 4)
# asignamos los clusters
assigned_cluster <- dfvivienda2_z %>% mutate(cluster = as.factor(cluster_assigments))
# gráfico de puntos
ggplot(assigned_cluster, aes(x = zona_encoded, y = preciom, color = cluster)) +
geom_point(size = 4) +
geom_text(aes(label = cluster), vjust = -.8) + # Agregar etiquetas del clúster
theme_classic()
En el gráfico se logra observar como es el comportamiento de las zonas contra los precios y se observan diferencias claras.
library(tidyverse)
# distancia euclidiana
dist_viv <- dist(dfvivienda2_z, method = 'euclidean')
# Cluster jerarquico con el método complete
hc_viv <- hclust(dist_viv, method = 'complete')
# Determinamos a dónde pertenece cada observación
cluster_assigments <- cutree(hc_viv, k = 4)
# asignamos los clusters
assigned_cluster <- dfvivienda2_z %>% mutate(cluster = as.factor(cluster_assigments))
# gráfico de puntos
ggplot(assigned_cluster, aes(x = estrato, y = preciom, color = cluster)) +
geom_point(size = 4) +
geom_text(aes(label = cluster), vjust = -.8) + # Agregar etiquetas del clúster
theme_classic()
En este grafico tambien se logra encontrar una clara distinción entre los diferentes estratos y los precios.
library(tidyverse)
# distancia euclidiana
dist_viv <- dist(dfvivienda2_z, method = 'euclidean')
# Cluster jerarquico con el método complete
hc_viv <- hclust(dist_viv, method = 'complete')
# Determinamos a dónde pertenece cada observación
cluster_assigments <- cutree(hc_viv, k = 4)
# asignamos los clusters
assigned_cluster <- dfvivienda2_z %>% mutate(cluster = as.factor(cluster_assigments))
# gráfico de puntos
ggplot(assigned_cluster, aes(x = areaconst , y = preciom, color = cluster)) +
geom_point(size = 4) +
geom_text(aes(label = cluster), vjust = -.8) + # Agregar etiquetas del clúster
theme_classic()
Al comparar el area construida contra el precio logramos ver quizas dos agrupaciones diferenres.
Continuando se realiza el dendograma correspondiente.
plot(hc_viv, cex = 0.6, main = "Dendograma de Viviendas", las=1,
ylab = "Distancia euclidiana", xlab = "Grupos")
rect.hclust(hc_viv, k = 2, border = 2:5)
Debido a que el resultado es quizas demaciado denso es complejo extraer información, sin embargo se logra ver que quizas dos conglomerados es el numero adecuado, pero es importante destacar que probablemente no sea la mejor herramienta gráfica a utilizar en este caso.
dendograma <- hclust(dist_viv, method = "average")
grp <- cutree(dendograma, k = 2)
grp
## [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [38] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [75] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [112] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [149] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [186] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [223] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [260] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [297] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [334] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [371] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [408] 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [445] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [482] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [519] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [556] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [593] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [630] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [667] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [704] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [741] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [778] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [815] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [852] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [889] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [926] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [963] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1000] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1037] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1074] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1111] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1148] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1185] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1222] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1259] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1
## [1296] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1333] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1370] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1407] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1444] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1481] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1518] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1555] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1592] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1629] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1666] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1703] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1740] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1777] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1814] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1851] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1888] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1925] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1962] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1999] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2036] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2073] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2110] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2147] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2184] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2221] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2258] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2295] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2332] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2369] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2406] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2443] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2480] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2517] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2554] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2591] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2628] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2665] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2702] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2739] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2776] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2813] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2850] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2887] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2924] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2961] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2998] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3035] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3072] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3109] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3146] 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3183] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3220] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3257] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3294] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3331] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3368] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3405] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3442] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3479] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3516] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3553] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3590] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3627] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3664] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3701] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3738] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3775] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3812] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3849] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3886] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3923] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3960] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3997] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4034] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4071] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4108] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4145] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4182] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4219] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4256] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4293] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4330] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4367] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4404] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4441] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4478] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4515] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4552] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4589] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4626] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4663] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4700] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4737] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4774] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4811] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4848] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4885] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4922] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4959] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4996] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1
## [5033] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1
## [5070] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5107] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5144] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5181] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5218] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5255] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5292] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5329] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1
## [5366] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5403] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5440] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5477] 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5514] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5551] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5588] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5625] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5662] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5699] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5736] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5773] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5810] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5847] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5884] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5921] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5958] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [5995] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6032] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6069] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6106] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6143] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6180] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6217] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6254] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6291] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6328] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6365] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6402] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6439] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6476] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6513] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6550] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6587] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6624] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6661] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6698] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6735] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6772] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6809] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6846] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6883] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6920] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6957] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [6994] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7031] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7068] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7105] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7142] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7179] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7216] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7253] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7290] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7327] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7364] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7401] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7438] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7475] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7512] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7549] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7586] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7623] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7660] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7697] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7734] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7771] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7808] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7845] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7882] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7919] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7956] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [7993] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [8030] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [8067] 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [8104] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [8141] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [8178] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [8215] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [8252] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [8289] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
library(factoextra)
dist_viv <- dist(dfvivienda2_z, method = "euclidean")
dendograma <- hclust(dist_viv, method = "average")
# plot(dendograma, cex = 0.6, hang = -1)
barplot(sort(dendograma$height, decreasing = TRUE), horiz = TRUE,
main = "Agregaciones (distancias euclidianas)",
col = "lightblue", ylab = "Nodo", xlab = "Peso", xlim = c(0, 2.5))
library(cluster)
# distancia euclidiana
dist_viv <- dist(dfvivienda2_z, method = 'euclidean')
# Cluster jerarquico con el método complete
hc_viv <- hclust(dist_viv, method = 'complete')
# Determinamos a dónde pertenece cada observación
cluster_assigments <- cutree(hc_viv, k = 2)
# Calcular el coeficiente de Silhouette
sil <- silhouette(cluster_assigments, dist(dfvivienda2_z))
sil_avg <- mean(sil[,3])
# Imprimir el coeficiente de Silhouette promedio
cat("Coeficiente de Silhouette promedio k=2 : ", sil_avg)
## Coeficiente de Silhouette promedio k=2 : 0.5750897
Al completar el análisis de conglomerados se encuentra que mediante el coeficiente de Silhouette el mejor número de clusters es 2 pues es donde mas se acerca a cero, dado que al aumentar el numero de clusters se vuelve cada vez mas lejano a 1 quizas hacer un mayor número de clusters no sería apropiado dado que no se logra encontrar una razón para justificarlo.
Análisis de Correspondencia : Examinar la relación entre las variables categóricas (tipo de vivienda, zona y barrio) y las variables numéricas (precio, área construida, número de parqueaderos, baños, habitaciones) para identificar patrones de comportamiento del mercado inmobiliario.
Se inicia preparando la data.
library(FactoMineR) # Librería
## Warning: package 'FactoMineR' was built under R version 4.2.3
dim(dfvivienda1)
## [1] 8319 7
dim(dfvivienda3)
## [1] 8319 7
head(dfvivienda1,3)
## # A tibble: 3 × 7
## id estrato preciom areaconst parqueaderos banios habitaciones
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1147 3 250 70 1 3 6
## 2 1169 3 320 120 1 2 3
## 3 1350 3 350 220 2 2 4
head(dfvivienda3,3)
## # A tibble: 3 × 7
## id zona_encoded zona barrio_encoded barrio tipo_encoded tipo
## <dbl> <dbl> <chr> <dbl> <chr> <dbl> <chr>
## 1 1147 4 Zona Oriente 1 20 de julio 2 Casa
## 2 1169 4 Zona Oriente 1 20 de julio 2 Casa
## 3 1350 4 Zona Oriente 1 20 de julio 2 Casa
Debido a que el enunciado no es acertado al pedir un análisis de correspondencia para comparar variables categóricas contra numéricas, se decide realizar en primera instancia un Análisis Factorial de Datos Mixtos (FAMD) que permite hacer esto precisamente. Así que se inicia preparando la data para ello.
dfvivienda_num <- subset(dfvivienda1)
dfvivienda_num_scaled <- scale(dfvivienda_num[, 2:7])
# Combine scaled columns with unchanged columns
dfvivienda_num <- cbind(dfvivienda_num_scaled, dfvivienda_num[,1])
dfvivienda_cat <- subset(dfvivienda3, select = -c(barrio_encoded, zona_encoded, tipo_encoded))
#dfvivienda_cat <- subset(dfvivienda3, select = -c(barrio, zona, tipo))
dfvivienda_famd <- merge(dfvivienda_num, dfvivienda_cat, by = "id")
dfvivienda_famd <- subset(dfvivienda_famd, select = -c(estrato,id))
dim(dfvivienda_famd)
## [1] 8319 8
head(dfvivienda_famd,5)
## preciom areaconst parqueaderos banios habitaciones zona
## 1 1.3572955 0.4341303 0.1313764 1.3224164 0.2703863 Zona Sur
## 2 2.3309312 4.3721812 1.1186578 2.0225935 2.3258329 Zona Oeste
## 3 -0.5595498 -0.6220787 0.1313764 -0.7781148 -0.4147626 Zona Sur
## 4 2.5743401 1.1965594 2.1059392 2.0225935 0.9555352 Zona Sur
## 5 2.6351924 2.9732288 2.1059392 2.7227705 0.9555352 Zona Sur
## barrio tipo
## 1 pance Casa
## 2 miraflores Casa
## 3 multicentro Apartamento
## 4 ciudad jardín Apartamento
## 5 pance Casa
famd_result <- FAMD(dfvivienda_famd)
## Warning: ggrepel: 8314 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps
## Warning: ggrepel: 435 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps
## Warning: ggrepel: 8315 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps
## Warning: ggrepel: 435 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps
# Summary of FAMD results
summary(famd_result)
##
## Call:
## FAMD(base = dfvivienda_famd)
##
##
## Eigenvalues
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## Variance 3.907 2.364 1.983 1.928 1.866
## % of var. 0.878 0.531 0.446 0.433 0.419
## Cumulative % of var. 0.878 1.409 1.855 2.288 2.708
##
## Individuals (the 10 first)
## Dist Dim.1 ctr cos2 Dim.2 ctr cos2 Dim.3
## 1 | 5.055 | 2.447 0.018 0.234 | -0.060 0.000 0.000 | -1.207
## 2 | 19.354 | 5.908 0.107 0.093 | -1.070 0.006 0.003 | 1.446
## 3 | 17.607 | -1.381 0.006 0.006 | -0.325 0.001 0.000 | -1.238
## 4 | 5.832 | 3.738 0.043 0.411 | -0.927 0.004 0.025 | -1.109
## 5 | 7.088 | 5.583 0.096 0.620 | -0.360 0.001 0.003 | -1.093
## 6 | 4.715 | 1.451 0.006 0.095 | 0.220 0.000 0.002 | -1.214
## 7 | 5.508 | 3.944 0.048 0.513 | 0.207 0.000 0.001 | -1.135
## 8 | 3.273 | -1.843 0.010 0.317 | -0.160 0.000 0.002 | -1.275
## 9 | 3.308 | -1.939 0.012 0.344 | -0.109 0.000 0.001 | -1.278
## 10 | 4.818 | 1.315 0.005 0.074 | -0.627 0.002 0.017 | -1.213
## ctr cos2
## 1 0.009 0.057 |
## 2 0.013 0.006 |
## 3 0.009 0.005 |
## 4 0.007 0.036 |
## 5 0.007 0.024 |
## 6 0.009 0.066 |
## 7 0.008 0.042 |
## 8 0.010 0.152 |
## 9 0.010 0.149 |
## 10 0.009 0.063 |
##
## Continuous variables
## Dim.1 ctr cos2 Dim.2 ctr cos2 Dim.3 ctr
## preciom | 0.817 17.091 0.668 | -0.376 5.972 0.141 | 0.018 0.017
## areaconst | 0.855 18.726 0.732 | 0.053 0.120 0.003 | 0.045 0.101
## parqueaderos | 0.687 12.085 0.472 | -0.167 1.175 0.028 | 0.031 0.047
## banios | 0.849 18.450 0.721 | -0.056 0.131 0.003 | -0.049 0.123
## habitaciones | 0.638 10.420 0.407 | 0.423 7.574 0.179 | 0.047 0.110
## cos2
## preciom 0.000 |
## areaconst 0.002 |
## parqueaderos 0.001 |
## banios 0.002 |
## habitaciones 0.002 |
##
## Categories (the 10 first)
## Dim.1 ctr cos2 v.test Dim.2 ctr cos2
## Zona Centro | 0.511 0.026 0.002 2.901 | 3.070 2.514 0.081
## Zona Norte | -0.648 0.635 0.063 -16.383 | 0.355 0.520 0.019
## Zona Oeste | 0.741 0.518 0.044 14.021 | -2.631 17.840 0.554
## Zona Oriente | 0.395 0.043 0.003 3.824 | 4.292 13.905 0.408
## Zona Sur | 0.033 0.004 0.001 1.736 | 0.123 0.155 0.010
## 20 de julio | -0.061 0.000 0.000 -0.053 | 4.395 0.125 0.007
## 3 de julio | 2.006 0.003 0.000 1.015 | 0.417 0.000 0.000
## acopi | -0.078 0.001 0.000 -0.498 | 0.262 0.023 0.001
## agua blanca | 1.649 0.002 0.000 0.834 | 5.254 0.059 0.003
## aguablanca | -1.104 0.002 0.000 -0.790 | 2.350 0.024 0.001
## v.test Dim.3 ctr cos2 v.test
## Zona Centro 22.401 | 0.658 0.164 0.004 5.245 |
## Zona Norte 11.533 | 1.735 17.652 0.453 61.531 |
## Zona Oeste -64.018 | 1.279 5.992 0.131 33.983 |
## Zona Oriente 53.431 | 2.149 4.954 0.102 29.211 |
## Zona Sur 8.401 | -1.206 21.000 0.975 -89.564 |
## 20 de julio 4.952 | 2.182 0.044 0.002 2.684 |
## 3 de julio 0.271 | -1.279 0.005 0.000 -0.908 |
## acopi 2.166 | 1.740 1.462 0.055 15.679 |
## agua blanca 3.417 | 2.346 0.017 0.001 1.665 |
## aguablanca 2.161 | 0.522 0.002 0.000 0.525 |
Con el análisis de FAMD realizado se encuentra que las variables zona y barrio aportan en gran al segundo componente, resaltando que son ambas categóricas, por otro lado precio, area construida y baños aportan mayormente al primer componente y por ultimo tipo, parqueaderos y habitaciones auque aportan mas al componente 1 no lo hacen en tal medida.
Concluyendo así con el análisis de FAMD se pasa a realizar un analisis de correpondencia unicamente de las variables categóricas. Para esto se realizan primero las tabalas de contingencia para varios pares de variables.
#tabla1 <- table(dfvivienda3$tipo_encoded, dfvivienda3$zona_encoded)
tabla1 <- table(dfvivienda3$tipo, dfvivienda3$zona)
tabla1 # Tabla cruzada
##
## Zona Centro Zona Norte Zona Oeste Zona Oriente Zona Sur
## Apartamento 24 1198 1029 62 2787
## Casa 100 722 169 289 1939
tabla2 <- table(dfvivienda3$tipo, dfvivienda3$barrio)
tabla2 # Tabla cruzada
##
## 20 de julio 3 de julio acopi agua blanca aguablanca aguacatal
## Apartamento 0 0 88 0 1 98
## Casa 3 1 70 1 1 11
##
## alameda alameda del rio alameda del río alamos alborada alcazares
## Apartamento 4 1 1 11 0 2
## Casa 12 0 1 3 1 0
##
## alf√©rez real alferez real alfonso lopez alfonso lópez
## Apartamento 4 1 0 2
## Casa 1 1 1 19
##
## alfonso lópez i alto jordán altos de guadalupe altos de menga
## Apartamento 0 1 1 3
## Casa 1 0 3 0
##
## altos de santa antonio nariño aranjuez arboleda
## Apartamento 1 0 0 5
## Casa 0 2 15 0
##
## arboleda campestre candelaria arboledas atanasio girardot
## Apartamento 0 38 1
## Casa 1 0 8
##
## autopista sur bajo aguacatal barranquilla barrio 7de agosto
## Apartamento 0 1 3 0
## Casa 1 0 3 1
##
## barrio el recuerdo barrio eucarístico barrio obrero
## Apartamento 0 0 0
## Casa 1 1 1
##
## barrio tranquilo y base aérea belalcazar Belalcazar
## Apartamento 0 0 0 0
## Casa 1 2 3 1
##
## belisario caicedo bella suiza bella suiza alta bellavista
## Apartamento 2 11 1 36
## Casa 0 7 3 7
##
## benjamín herrera berlin bloques del limonar bochalema bolivariano
## Apartamento 0 0 1 33 1
## Casa 8 1 0 0 0
##
## bosques de alboleda bosques del limonar boyacá bretaña
## Apartamento 1 12 0 2
## Casa 0 9 1 14
##
## brisas de guadalupe brisas de los Brisas De Los
## Apartamento 0 59 1
## Casa 1 22 0
##
## brisas del guabito brisas del limonar Bueno Madrid buenos aires
## Apartamento 0 1 1 4
## Casa 1 0 0 3
##
## caldas Cali cali bella cali canto calibella calicanto
## Apartamento 1 23 1 0 0 2
## Casa 0 14 0 1 1 6
##
## calicanto viii calima calimio norte calipso cambulos camino real
## Apartamento 0 0 2 4 2 14
## Casa 1 6 3 7 1 21
##
## Camino Real campestre caney caney especial cañasgordas
## Apartamento 1 1 58 1 5
## Casa 0 0 30 4 2
##
## cañaveralejo cañaverales cañaverales los samanes capri cascajal
## Apartamento 9 19 1 43 0
## Casa 3 2 0 13 1
##
## cataya real ceibas centelsa centenario Centenario centro
## Apartamento 1 0 1 12 1 1
## Casa 0 1 0 3 0 3
##
## cerro cristales cerros de guadalupe champagnat chapinero
## Apartamento 22 0 1 0
## Casa 0 1 13 7
##
## chiminangos Chiminangos chiminangos 1 etapa chiminangos 2 etapa
## Apartamento 17 1 1 2
## Casa 0 0 0 0
##
## chipichape ciudad 2000 Ciudad 2000 ciudad antejardin
## Apartamento 25 19 0 0
## Casa 5 76 1 1
##
## ciudad bochalema ciudad capri ciudad cordoba ciudad córdoba
## Apartamento 48 9 0 1
## Casa 0 4 20 14
##
## ciudad córdoba reservado ciudad country ciudad del campo
## Apartamento 0 0 0
## Casa 1 1 1
##
## ciudad jardin ciudad jardín Ciudad Jardín ciudad jardin pance
## Apartamento 9 221 0 1
## Casa 13 295 2 0
##
## ciudad los alamos ciudad los álamos ciudad mel√©ndez
## Apartamento 1 14 1
## Casa 0 11 0
##
## ciudad melendez ciudad modelo ciudad pacifica Ciudad Pacifica
## Apartamento 1 1 2 1
## Casa 0 6 0 0
##
## ciudad real ciudad talanga ciudad universitaria
## Apartamento 0 0 1
## Casa 3 1 0
##
## ciudadela comfandi ciudadela del río ciudadela melendez
## Apartamento 2 0 1
## Casa 15 1 0
##
## ciudadela paso ancho ciudadela pasoancho colinas de menga
## Apartamento 0 3 3
## Casa 1 18 0
##
## colinas del bosque colinas del sur colon colseguros
## Apartamento 0 3 0 22
## Casa 1 5 1 22
##
## colseguros andes Colseguros Andes comfenalco compartir
## Apartamento 1 0 1 0
## Casa 3 1 0 1
##
## conjunto gibraltar cristales cristobal colón cristóbal colón
## Apartamento 1 72 2 0
## Casa 0 11 12 2
##
## cuarto de legua departamental ed benjamin herrera el bosque
## Apartamento 30 16 1 12
## Casa 14 13 0 37
##
## El Bosque el caney El Caney el castillo el cedro el diamante
## Apartamento 1 124 1 0 0 0
## Casa 0 84 0 6 8 2
##
## el dorado el gran limonar el guabal el guabito el ingenio
## Apartamento 6 3 4 0 128
## Casa 0 5 15 1 74
##
## El Ingenio el ingenio 3 el ingenio i el ingenio ii el ingenio iii
## Apartamento 0 1 13 9 10
## Casa 1 0 6 12 10
##
## el jardín el jordán el lido el limonar el nacional el paraíso
## Apartamento 4 1 34 59 0 0
## Casa 11 0 25 76 1 3
##
## el peñon el prado el refugio el rodeo el sena el tr√©bol
## Apartamento 56 1 77 0 0 0
## Casa 4 1 43 1 1 5
##
## el troncal el vallado eucarístico evaristo garcía
## Apartamento 7 0 0 1
## Casa 12 1 2 1
##
## farrallones de pance fenalco kennedy fepicol flora
## Apartamento 0 0 1 1
## Casa 1 1 0 0
##
## flora industrial floralia fonaviemcali francisco eladio ramirez
## Apartamento 12 3 0 0
## Casa 4 3 1 1
##
## fuentes de la gaitan gran limonar granada guadalupe
## Apartamento 1 0 8 5 10
## Casa 0 1 16 10 11
##
## guadalupe alto guaduales guayaquil hacienda alferez real ingenio
## Apartamento 1 2 2 0 1
## Casa 0 0 14 1 0
##
## ingenio i ingenio ii jamundi jamundi alfaguara
## Apartamento 0 1 0 0
## Casa 1 0 4 1
##
## jorge eliecer gaitán jorge isaacs jose manuel marroquín juanamb√∫
## Apartamento 0 0 0 41
## Casa 1 1 1 12
##
## juanambu junin junín la alborada la alianza la arboleda la base
## Apartamento 2 2 0 4 5 18 4
## Casa 0 16 6 1 0 0 11
##
## la buitrera la campiña la cascada la ceibas la esmeralda la flora
## Apartamento 0 9 2 0 0 267
## Casa 3 4 5 1 1 99
##
## La Flora la floresta la fortaleza la gran colombia la hacienda
## Apartamento 1 5 0 0 108
## Casa 1 13 4 1 56
##
## La Hacienda la independencia la libertad la luisa la merced
## Apartamento 1 0 0 1 2
## Casa 1 12 2 0 24
##
## la morada la nueva base la playa la portada al la primavera
## Apartamento 0 3 0 0 0
## Casa 1 5 1 1 1
##
## la reforma la rivera la rivera i la rivera ii la riverita
## Apartamento 0 2 0 0 0
## Casa 1 9 2 2 1
##
## la riviera la selva la villa del laflora lares de comfenalco
## Apartamento 0 7 0 1 1
## Casa 1 4 1 0 0
##
## las acacias las américas las camelias las ceibas las delicias
## Apartamento 1 1 1 8 2
## Casa 11 2 0 15 3
##
## las granjas las quintas de las vegas las vegas de libertadores
## Apartamento 7 0 0 1 0
## Casa 3 1 1 0 3
##
## los alamos los alcazares los alcázares los andes los cambulos
## Apartamento 1 17 5 8 19
## Casa 0 0 0 13 6
##
## los cámbulos los cristales los cristales club los farallones
## Apartamento 4 137 1 2
## Casa 2 17 0 2
##
## los guaduales Los Guaduales los guayacanes los jockeys
## Apartamento 15 1 1 0
## Casa 10 0 2 1
##
## los libertadores los parques barranquilla los robles lourdes
## Apartamento 0 6 1 0
## Casa 4 0 0 2
##
## mamellan manzanares mariano ramos marroquín iii mayapan las vegas
## Apartamento 0 4 0 0 32
## Casa 1 1 1 1 14
##
## meléndez melendez menga metropolitano del norte
## Apartamento 21 40 21 20
## Casa 2 12 2 1
##
## miradol del aguacatal miraflores Miraflores morichal de comfandi
## Apartamento 1 6 0 1
## Casa 0 19 1 2
##
## multicentro municipal napoles nápoles normandia normandía
## Apartamento 27 0 1 12 5 150
## Casa 0 3 1 17 0 4
##
## normandía west point norte norte la flora nueva base
## Apartamento 1 8 1 0
## Casa 0 1 0 1
##
## nueva floresta nueva tequendama oasis de comfandi
## Apartamento 1 37 5
## Casa 14 36 1
##
## oasis de pasoancho occidente pacara pacará palmas del ingenio
## Apartamento 1 10 17 4 0
## Casa 0 1 2 0 1
##
## pampa linda pampalinda panamericano pance Pance
## Apartamento 13 3 2 206 0
## Casa 13 9 7 203 3
##
## parcelaciones pance parque residencial el paseo de los
## Apartamento 18 0 0
## Casa 43 1 2
##
## paso del comercio pasoancho poblado campestre ponce popular
## Apartamento 4 5 0 1 1
## Casa 2 1 2 0 5
##
## portada de comfandi portales de comfandi porvenir
## Apartamento 1 0 1
## Casa 1 1 2
##
## prados de oriente prados del limonar Prados Del Limonar
## Apartamento 2 3 1
## Casa 4 17 0
##
## prados del norte Prados Del Norte prados del sur primavera
## Apartamento 95 1 0 0
## Casa 31 0 2 2
##
## primero de mayo primitivo crespo puente del comercio puente palma
## Apartamento 24 0 6 0
## Casa 13 3 0 1
##
## quintas de don Quintas De Don quintas de salomia
## Apartamento 58 0 0
## Casa 14 1 4
##
## rafael uribe uribe refugio rep√∫blica de israel rincon de la
## Apartamento 0 2 0 1
## Casa 1 0 1 0
##
## rincón de salomia riveras del valle rozo la torre
## Apartamento 1 0 0
## Casa 0 1 1
##
## saavedra galindo salomia samanes samanes de guadalupe sameco
## Apartamento 1 20 1 1 1
## Casa 3 20 0 0 0
##
## san antonio san bosco san carlos san cayetano san fernando
## Apartamento 1 4 0 0 21
## Casa 23 4 4 9 33
##
## San Fernando san fernando nuevo san fernando viejo san joaquin
## Apartamento 1 4 6 1
## Casa 0 6 12 3
##
## san joaquín san juan bosco san judas san judas tadeo san luis
## Apartamento 0 1 0 0 0
## Casa 16 6 1 2 2
##
## san luís san nicolas san nicolás san pedro san vicente santa
## Apartamento 0 0 0 3 16 1
## Casa 1 1 1 0 32 0
##
## santa anita Santa Anita santa anita sur santa bárbara santa elena
## Apartamento 37 2 0 1 1
## Casa 11 0 1 2 9
##
## santa fe santa helena de santa isabel Santa Isabel santa monica
## Apartamento 0 0 43 1 35
## Casa 8 1 20 0 16
##
## Santa Monica santa mónica santa mónica alta santa monica norte
## Apartamento 0 2 1 1
## Casa 1 1 0 1
##
## santa monica popular santa mónica popular
## Apartamento 1 2
## Casa 1 5
##
## santa monica residencial santa mónica residencial santa rita
## Apartamento 0 23 37
## Casa 5 16 8
##
## santa rosa santa teresita Santa Teresita Santafe santander
## Apartamento 1 250 1 0 0
## Casa 0 12 0 1 1
##
## santo domingo Santo Domingo sector aguacatal
## Apartamento 1 0 1
## Casa 4 1 0
##
## sector cañaveralejo guadalupe seminario sierras de normandía
## Apartamento 2 23 1
## Casa 0 9 0
##
## siete de agosto simón bolivar tejares cristales tejares de san
## Apartamento 1 0 1 2
## Casa 7 1 3 12
##
## templete tequendama tequendema terrón colorado torres de comfandi
## Apartamento 2 15 0 0 55
## Casa 2 29 1 1 2
##
## unicentro cali unión de vivienda urbanización barranquilla
## Apartamento 1 2 2
## Casa 0 1 2
##
## urbanización boyacá urbanización colseguros urbanizacion el saman
## Apartamento 0 2 0
## Casa 1 1 1
##
## urbanizacion gratamira urbanización la flora
## Apartamento 1 60
## Casa 0 23
##
## urbanización la merced urbanización la nueva
## Apartamento 0 1
## Casa 4 3
##
## urbanización las cascadas urbanizacion lili
## Apartamento 0 0
## Casa 1 2
##
## urbanización nueva granada urbanización pacara
## Apartamento 1 1
## Casa 2 0
##
## urbanización río lili urbanización san joaquin
## Apartamento 3 0
## Casa 2 4
##
## urbanización tequendama valle de lili valle del lili
## Apartamento 2 1 840
## Casa 5 0 168
##
## Valle Del Lili valle grande versalles villa colombia
## Apartamento 1 1 55 0
## Casa 0 0 16 6
##
## villa de veracruz villa del lago villa del parque villa del prado
## Apartamento 2 4 1 11
## Casa 4 6 0 40
##
## Villa Del Prado villa del sol villa del sur villas de veracruz
## Apartamento 0 13 3 1
## Casa 1 12 2 7
##
## Villas De Veracruz vipasa zona centro zona norte zona norte los
## Apartamento 0 1 0 13 1
## Casa 1 31 1 19 0
##
## zona oeste zona oriente zona residencial zona sur
## Apartamento 22 2 1 32
## Casa 4 16 0 42
tabla3 <- table(dfvivienda3$zona, dfvivienda3$barrio)
tabla3 # Tabla cruzada
##
## 20 de julio 3 de julio acopi agua blanca aguablanca aguacatal
## Zona Centro 0 0 0 0 0 0
## Zona Norte 0 0 157 0 0 0
## Zona Oeste 0 0 0 0 0 108
## Zona Oriente 3 0 0 1 1 0
## Zona Sur 0 1 1 0 1 1
##
## alameda alameda del rio alameda del río alamos alborada
## Zona Centro 11 0 0 0 0
## Zona Norte 0 1 2 14 0
## Zona Oeste 0 0 0 0 0
## Zona Oriente 0 0 0 0 0
## Zona Sur 5 0 0 0 1
##
## alcazares alf√©rez real alferez real alfonso lopez alfonso lópez
## Zona Centro 0 0 0 0 0
## Zona Norte 2 0 0 0 0
## Zona Oeste 0 0 0 0 0
## Zona Oriente 0 0 0 1 21
## Zona Sur 0 5 2 0 0
##
## alfonso lópez i alto jordán altos de guadalupe altos de menga
## Zona Centro 0 0 0 0
## Zona Norte 0 0 0 3
## Zona Oeste 0 0 1 0
## Zona Oriente 1 0 0 0
## Zona Sur 0 1 3 0
##
## altos de santa antonio nariño aranjuez arboleda
## Zona Centro 0 0 14 0
## Zona Norte 0 0 0 0
## Zona Oeste 1 0 0 4
## Zona Oriente 0 2 0 0
## Zona Sur 0 0 1 1
##
## arboleda campestre candelaria arboledas atanasio girardot
## Zona Centro 0 0 0
## Zona Norte 0 0 1
## Zona Oeste 0 38 0
## Zona Oriente 1 0 8
## Zona Sur 0 0 0
##
## autopista sur bajo aguacatal barranquilla barrio 7de agosto
## Zona Centro 0 0 0 0
## Zona Norte 0 0 6 0
## Zona Oeste 0 1 0 0
## Zona Oriente 1 0 0 1
## Zona Sur 0 0 0 0
##
## barrio el recuerdo barrio eucarístico barrio obrero
## Zona Centro 0 0 1
## Zona Norte 0 0 0
## Zona Oeste 0 0 0
## Zona Oriente 1 0 0
## Zona Sur 0 1 0
##
## barrio tranquilo y base aérea belalcazar Belalcazar
## Zona Centro 0 0 2 1
## Zona Norte 1 2 0 0
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 0 0
## Zona Sur 0 0 1 0
##
## belisario caicedo bella suiza bella suiza alta bellavista
## Zona Centro 0 0 0 0
## Zona Norte 0 0 0 0
## Zona Oeste 0 13 2 43
## Zona Oriente 0 0 0 0
## Zona Sur 2 5 2 0
##
## benjamín herrera berlin bloques del limonar bochalema
## Zona Centro 2 0 0 0
## Zona Norte 0 1 0 0
## Zona Oeste 0 0 0 0
## Zona Oriente 6 0 0 0
## Zona Sur 0 0 1 33
##
## bolivariano bosques de alboleda bosques del limonar boyacá
## Zona Centro 0 0 0 0
## Zona Norte 1 0 0 0
## Zona Oeste 0 1 0 0
## Zona Oriente 0 0 0 1
## Zona Sur 0 0 21 0
##
## bretaña brisas de guadalupe brisas de los Brisas De Los
## Zona Centro 13 0 0 0
## Zona Norte 0 0 81 1
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 0 0
## Zona Sur 3 1 0 0
##
## brisas del guabito brisas del limonar Bueno Madrid buenos aires
## Zona Centro 0 0 0 0
## Zona Norte 1 0 1 0
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 0 0
## Zona Sur 0 1 0 7
##
## caldas Cali cali bella cali canto calibella calicanto
## Zona Centro 0 0 0 0 0 0
## Zona Norte 0 33 1 0 1 0
## Zona Oeste 0 0 0 0 0 0
## Zona Oriente 0 0 0 0 0 0
## Zona Sur 1 4 0 1 0 8
##
## calicanto viii calima calimio norte calipso cambulos camino real
## Zona Centro 0 0 0 0 0 0
## Zona Norte 0 6 5 0 1 0
## Zona Oeste 0 0 0 0 0 0
## Zona Oriente 0 0 0 11 0 0
## Zona Sur 1 0 0 0 2 35
##
## Camino Real campestre caney caney especial cañasgordas
## Zona Centro 0 0 0 0 0
## Zona Norte 0 0 0 0 0
## Zona Oeste 0 0 0 0 0
## Zona Oriente 0 0 0 0 0
## Zona Sur 1 1 88 5 7
##
## cañaveralejo cañaverales cañaverales los samanes capri cascajal
## Zona Centro 0 0 0 0 0
## Zona Norte 0 0 0 0 0
## Zona Oeste 0 0 0 0 0
## Zona Oriente 0 0 0 0 0
## Zona Sur 12 21 1 56 1
##
## cataya real ceibas centelsa centenario Centenario centro
## Zona Centro 0 0 1 0 0 4
## Zona Norte 0 0 0 12 1 0
## Zona Oeste 0 0 0 3 0 0
## Zona Oriente 0 1 0 0 0 0
## Zona Sur 1 0 0 0 0 0
##
## cerro cristales cerros de guadalupe champagnat chapinero
## Zona Centro 0 0 0 0
## Zona Norte 0 0 0 1
## Zona Oeste 21 0 0 0
## Zona Oriente 0 0 0 6
## Zona Sur 1 1 14 0
##
## chiminangos Chiminangos chiminangos 1 etapa chiminangos 2 etapa
## Zona Centro 0 0 0 0
## Zona Norte 17 1 0 2
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 1 0
## Zona Sur 0 0 0 0
##
## chipichape ciudad 2000 Ciudad 2000 ciudad antejardin
## Zona Centro 0 0 0 0
## Zona Norte 30 0 0 0
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 0 0
## Zona Sur 0 95 1 1
##
## ciudad bochalema ciudad capri ciudad cordoba ciudad córdoba
## Zona Centro 0 0 0 0
## Zona Norte 0 0 0 0
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 20 14
## Zona Sur 48 13 0 1
##
## ciudad córdoba reservado ciudad country ciudad del campo
## Zona Centro 0 0 0
## Zona Norte 0 0 0
## Zona Oeste 0 0 0
## Zona Oriente 1 0 1
## Zona Sur 0 1 0
##
## ciudad jardin ciudad jardín Ciudad Jardín ciudad jardin pance
## Zona Centro 0 0 0 0
## Zona Norte 0 3 0 0
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 0 0
## Zona Sur 22 513 2 1
##
## ciudad los alamos ciudad los álamos ciudad mel√©ndez
## Zona Centro 0 0 0
## Zona Norte 1 25 0
## Zona Oeste 0 0 0
## Zona Oriente 0 0 0
## Zona Sur 0 0 1
##
## ciudad melendez ciudad modelo ciudad pacifica Ciudad Pacifica
## Zona Centro 0 0 0 0
## Zona Norte 0 0 0 0
## Zona Oeste 0 0 0 0
## Zona Oriente 0 6 0 0
## Zona Sur 1 1 2 1
##
## ciudad real ciudad talanga ciudad universitaria
## Zona Centro 0 0 0
## Zona Norte 0 0 0
## Zona Oeste 0 0 0
## Zona Oriente 0 1 0
## Zona Sur 3 0 1
##
## ciudadela comfandi ciudadela del río ciudadela melendez
## Zona Centro 0 0 0
## Zona Norte 0 0 0
## Zona Oeste 0 0 0
## Zona Oriente 0 1 0
## Zona Sur 17 0 1
##
## ciudadela paso ancho ciudadela pasoancho colinas de menga
## Zona Centro 0 0 0
## Zona Norte 0 0 3
## Zona Oeste 0 0 0
## Zona Oriente 0 0 0
## Zona Sur 1 21 0
##
## colinas del bosque colinas del sur colon colseguros
## Zona Centro 0 0 0 1
## Zona Norte 1 0 0 0
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 0 0
## Zona Sur 0 8 1 43
##
## colseguros andes Colseguros Andes comfenalco compartir
## Zona Centro 0 0 0 0
## Zona Norte 0 0 1 0
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 0 1
## Zona Sur 4 1 0 0
##
## conjunto gibraltar cristales cristobal colón cristóbal colón
## Zona Centro 0 0 0 0
## Zona Norte 1 1 0 0
## Zona Oeste 0 81 0 0
## Zona Oriente 0 0 0 0
## Zona Sur 0 1 14 2
##
## cuarto de legua departamental ed benjamin herrera el bosque
## Zona Centro 0 0 1 0
## Zona Norte 0 0 0 49
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 0 0
## Zona Sur 44 29 0 0
##
## El Bosque el caney El Caney el castillo el cedro el diamante
## Zona Centro 0 0 0 0 0 0
## Zona Norte 1 0 0 0 1 0
## Zona Oeste 0 0 0 0 0 0
## Zona Oriente 0 0 0 0 0 2
## Zona Sur 0 208 1 6 7 0
##
## el dorado el gran limonar el guabal el guabito el ingenio
## Zona Centro 0 0 0 0 0
## Zona Norte 0 1 0 1 0
## Zona Oeste 0 0 0 0 0
## Zona Oriente 0 0 0 0 0
## Zona Sur 6 7 19 0 202
##
## El Ingenio el ingenio 3 el ingenio i el ingenio ii
## Zona Centro 0 0 0 0
## Zona Norte 0 0 0 0
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 0 0
## Zona Sur 1 1 19 21
##
## el ingenio iii el jardín el jordán el lido el limonar
## Zona Centro 0 0 0 0 0
## Zona Norte 0 0 0 1 0
## Zona Oeste 0 0 0 0 0
## Zona Oriente 0 14 0 0 0
## Zona Sur 20 1 1 58 135
##
## el nacional el paraíso el peñon el prado el refugio el rodeo
## Zona Centro 0 0 0 0 0 0
## Zona Norte 0 0 1 0 0 0
## Zona Oeste 1 0 59 0 0 0
## Zona Oriente 0 3 0 2 0 1
## Zona Sur 0 0 0 0 120 0
##
## el sena el tr√©bol el troncal el vallado eucarístico
## Zona Centro 0 0 1 0 0
## Zona Norte 1 1 2 0 0
## Zona Oeste 0 0 0 0 0
## Zona Oriente 0 4 16 1 0
## Zona Sur 0 0 0 0 2
##
## evaristo garcía farrallones de pance fenalco kennedy fepicol
## Zona Centro 0 0 0 0
## Zona Norte 2 0 0 0
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 1 1
## Zona Sur 0 1 0 0
##
## flora flora industrial floralia fonaviemcali
## Zona Centro 0 1 0 0
## Zona Norte 1 15 6 0
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 0 1
## Zona Sur 0 0 0 0
##
## francisco eladio ramirez fuentes de la gaitan gran limonar
## Zona Centro 0 0 0 0
## Zona Norte 0 0 1 0
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 0 0
## Zona Sur 1 1 0 24
##
## granada guadalupe guadalupe alto guaduales guayaquil
## Zona Centro 0 0 0 0 14
## Zona Norte 15 0 0 2 1
## Zona Oeste 0 0 1 0 0
## Zona Oriente 0 0 0 0 0
## Zona Sur 0 21 0 0 1
##
## hacienda alferez real ingenio ingenio i ingenio ii jamundi
## Zona Centro 0 0 0 0 0
## Zona Norte 0 0 0 0 0
## Zona Oeste 0 0 0 0 0
## Zona Oriente 0 0 0 0 0
## Zona Sur 1 1 1 1 4
##
## jamundi alfaguara jorge eliecer gaitán jorge isaacs
## Zona Centro 0 0 1
## Zona Norte 0 1 0
## Zona Oeste 0 0 0
## Zona Oriente 0 0 0
## Zona Sur 1 0 0
##
## jose manuel marroquín juanamb√∫ juanambu junin junín la alborada
## Zona Centro 0 0 0 17 3 0
## Zona Norte 0 44 1 0 0 0
## Zona Oeste 0 9 1 0 0 0
## Zona Oriente 1 0 0 0 1 0
## Zona Sur 0 0 0 1 2 5
##
## la alianza la arboleda la base la buitrera la campiña la cascada
## Zona Centro 0 0 0 0 0 0
## Zona Norte 5 0 1 0 13 0
## Zona Oeste 0 18 0 0 0 1
## Zona Oriente 0 0 14 0 0 0
## Zona Sur 0 0 0 3 0 6
##
## la ceibas la esmeralda la flora La Flora la floresta
## Zona Centro 0 0 0 0 0
## Zona Norte 0 1 365 2 2
## Zona Oeste 0 0 0 0 0
## Zona Oriente 1 0 0 0 16
## Zona Sur 0 0 1 0 0
##
## la fortaleza la gran colombia la hacienda La Hacienda
## Zona Centro 0 0 0 0
## Zona Norte 0 0 0 0
## Zona Oeste 0 0 0 0
## Zona Oriente 4 1 0 0
## Zona Sur 0 0 164 2
##
## la independencia la libertad la luisa la merced la morada
## Zona Centro 0 0 0 2 1
## Zona Norte 0 0 0 24 0
## Zona Oeste 0 0 0 0 0
## Zona Oriente 10 0 0 0 0
## Zona Sur 2 2 1 0 0
##
## la nueva base la playa la portada al la primavera la reforma
## Zona Centro 0 0 0 0 0
## Zona Norte 0 0 0 0 0
## Zona Oeste 0 0 0 0 0
## Zona Oriente 8 0 0 1 0
## Zona Sur 0 1 1 0 1
##
## la rivera la rivera i la rivera ii la riverita la riviera
## Zona Centro 0 0 0 0 0
## Zona Norte 11 1 2 0 1
## Zona Oeste 0 0 0 0 0
## Zona Oriente 0 1 0 0 0
## Zona Sur 0 0 0 1 0
##
## la selva la villa del laflora lares de comfenalco las acacias
## Zona Centro 0 0 0 0 0
## Zona Norte 0 1 1 1 1
## Zona Oeste 0 0 0 0 0
## Zona Oriente 0 0 0 0 0
## Zona Sur 11 0 0 0 11
##
## las américas las camelias las ceibas las delicias las granjas
## Zona Centro 0 0 0 0 0
## Zona Norte 2 0 4 5 1
## Zona Oeste 0 0 0 0 0
## Zona Oriente 1 0 19 0 0
## Zona Sur 0 1 0 0 9
##
## las quintas de las vegas las vegas de libertadores los alamos
## Zona Centro 0 0 0 0 0
## Zona Norte 0 0 0 0 1
## Zona Oeste 0 0 0 1 0
## Zona Oriente 0 0 0 0 0
## Zona Sur 1 1 1 2 0
##
## los alcazares los alcázares los andes los cambulos los cámbulos
## Zona Centro 0 0 0 0 0
## Zona Norte 17 5 21 0 1
## Zona Oeste 0 0 0 0 0
## Zona Oriente 0 0 0 0 0
## Zona Sur 0 0 0 25 5
##
## los cristales los cristales club los farallones los guaduales
## Zona Centro 0 0 0 0
## Zona Norte 0 0 0 24
## Zona Oeste 154 1 0 0
## Zona Oriente 0 0 0 1
## Zona Sur 0 0 4 0
##
## Los Guaduales los guayacanes los jockeys los libertadores
## Zona Centro 0 0 0 1
## Zona Norte 1 3 0 0
## Zona Oeste 0 0 0 2
## Zona Oriente 0 0 0 0
## Zona Sur 0 0 1 1
##
## los parques barranquilla los robles lourdes mamellan manzanares
## Zona Centro 0 0 0 0 0
## Zona Norte 6 1 0 0 5
## Zona Oeste 0 0 0 1 0
## Zona Oriente 0 0 0 0 0
## Zona Sur 0 0 2 0 0
##
## mariano ramos marroquín iii mayapan las vegas mel√©ndez melendez
## Zona Centro 0 0 0 0 0
## Zona Norte 0 0 0 0 0
## Zona Oeste 0 0 0 1 0
## Zona Oriente 1 1 1 1 0
## Zona Sur 0 0 45 21 52
##
## menga metropolitano del norte miradol del aguacatal miraflores
## Zona Centro 0 0 0 1
## Zona Norte 23 21 0 0
## Zona Oeste 0 0 1 23
## Zona Oriente 0 0 0 0
## Zona Sur 0 0 0 1
##
## Miraflores morichal de comfandi multicentro municipal napoles
## Zona Centro 0 0 0 0 0
## Zona Norte 0 0 0 0 0
## Zona Oeste 1 0 0 0 0
## Zona Oriente 0 3 0 3 0
## Zona Sur 0 0 27 0 2
##
## nápoles normandia normandía normandía west point norte
## Zona Centro 0 0 0 0 0
## Zona Norte 0 0 0 0 1
## Zona Oeste 0 5 153 1 8
## Zona Oriente 0 0 0 0 0
## Zona Sur 29 0 1 0 0
##
## norte la flora nueva base nueva floresta nueva tequendama
## Zona Centro 0 0 0 1
## Zona Norte 1 0 0 1
## Zona Oeste 0 0 0 0
## Zona Oriente 0 1 12 0
## Zona Sur 0 0 3 71
##
## oasis de comfandi oasis de pasoancho occidente pacara pacará
## Zona Centro 0 0 0 0 0
## Zona Norte 6 0 10 19 4
## Zona Oeste 0 0 1 0 0
## Zona Oriente 0 0 0 0 0
## Zona Sur 0 1 0 0 0
##
## palmas del ingenio pampa linda pampalinda panamericano pance
## Zona Centro 0 0 0 0 0
## Zona Norte 0 0 0 0 0
## Zona Oeste 0 0 0 0 0
## Zona Oriente 0 0 0 0 1
## Zona Sur 1 26 12 9 408
##
## Pance parcelaciones pance parque residencial el paseo de los
## Zona Centro 0 0 0 0
## Zona Norte 0 0 1 2
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 0 0
## Zona Sur 3 61 0 0
##
## paso del comercio pasoancho poblado campestre ponce popular
## Zona Centro 0 0 0 0 0
## Zona Norte 6 0 1 0 6
## Zona Oeste 0 0 0 0 0
## Zona Oriente 0 0 0 0 0
## Zona Sur 0 6 1 1 0
##
## portada de comfandi portales de comfandi porvenir
## Zona Centro 0 0 0
## Zona Norte 2 1 3
## Zona Oeste 0 0 0
## Zona Oriente 0 0 0
## Zona Sur 0 0 0
##
## prados de oriente prados del limonar Prados Del Limonar
## Zona Centro 0 0 0
## Zona Norte 0 0 0
## Zona Oeste 0 0 0
## Zona Oriente 6 0 0
## Zona Sur 0 20 1
##
## prados del norte Prados Del Norte prados del sur primavera
## Zona Centro 1 0 0 0
## Zona Norte 124 1 0 0
## Zona Oeste 1 0 0 1
## Zona Oriente 0 0 0 1
## Zona Sur 0 0 2 0
##
## primero de mayo primitivo crespo puente del comercio
## Zona Centro 0 0 0
## Zona Norte 0 0 6
## Zona Oeste 0 0 0
## Zona Oriente 0 3 0
## Zona Sur 37 0 0
##
## puente palma quintas de don Quintas De Don quintas de salomia
## Zona Centro 0 0 0 0
## Zona Norte 0 0 0 1
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 0 3
## Zona Sur 1 72 1 0
##
## rafael uribe uribe refugio rep√∫blica de israel rincon de la
## Zona Centro 0 0 0 0
## Zona Norte 0 0 0 1
## Zona Oeste 0 1 0 0
## Zona Oriente 1 0 1 0
## Zona Sur 0 1 0 0
##
## rincón de salomia riveras del valle rozo la torre
## Zona Centro 0 0 0
## Zona Norte 1 0 1
## Zona Oeste 0 0 0
## Zona Oriente 0 0 0
## Zona Sur 0 1 0
##
## saavedra galindo salomia samanes samanes de guadalupe sameco
## Zona Centro 0 0 0 0 0
## Zona Norte 0 40 0 0 1
## Zona Oeste 0 0 0 0 0
## Zona Oriente 4 0 0 0 0
## Zona Sur 0 0 1 1 0
##
## san antonio san bosco san carlos san cayetano san fernando
## Zona Centro 4 6 1 1 0
## Zona Norte 0 0 0 0 2
## Zona Oeste 20 0 0 8 3
## Zona Oriente 0 0 3 0 0
## Zona Sur 0 2 0 0 49
##
## San Fernando san fernando nuevo san fernando viejo san joaquin
## Zona Centro 0 0 0 0
## Zona Norte 0 0 0 0
## Zona Oeste 0 0 1 0
## Zona Oriente 0 0 0 0
## Zona Sur 1 10 17 4
##
## san joaquín san juan bosco san judas san judas tadeo san luis
## Zona Centro 0 7 0 0 0
## Zona Norte 0 0 0 0 2
## Zona Oeste 0 0 0 0 0
## Zona Oriente 0 0 0 0 0
## Zona Sur 16 0 1 2 0
##
## san luís san nicolas san nicolás san pedro san vicente santa
## Zona Centro 0 1 1 2 0 0
## Zona Norte 1 0 0 1 47 0
## Zona Oeste 0 0 0 0 1 1
## Zona Oriente 0 0 0 0 0 0
## Zona Sur 0 0 0 0 0 0
##
## santa anita Santa Anita santa anita sur santa bárbara
## Zona Centro 1 0 0 0
## Zona Norte 0 0 0 1
## Zona Oeste 1 0 0 1
## Zona Oriente 0 0 0 1
## Zona Sur 46 2 1 0
##
## santa elena santa fe santa helena de santa isabel Santa Isabel
## Zona Centro 0 0 1 0 0
## Zona Norte 0 0 0 0 0
## Zona Oeste 0 0 0 47 1
## Zona Oriente 0 8 0 0 0
## Zona Sur 10 0 0 16 0
##
## santa monica Santa Monica santa mónica santa mónica alta
## Zona Centro 0 0 0 0
## Zona Norte 51 1 3 1
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 0 0
## Zona Sur 0 0 0 0
##
## santa monica norte santa monica popular santa mónica popular
## Zona Centro 0 0 0
## Zona Norte 2 0 0
## Zona Oeste 0 1 0
## Zona Oriente 0 1 6
## Zona Sur 0 0 1
##
## santa monica residencial santa mónica residencial santa rita
## Zona Centro 0 0 0
## Zona Norte 5 34 0
## Zona Oeste 0 5 45
## Zona Oriente 0 0 0
## Zona Sur 0 0 0
##
## santa rosa santa teresita Santa Teresita Santafe santander
## Zona Centro 1 0 0 0 0
## Zona Norte 0 2 0 0 1
## Zona Oeste 0 254 1 0 0
## Zona Oriente 0 0 0 1 0
## Zona Sur 0 6 0 0 0
##
## santo domingo Santo Domingo sector aguacatal
## Zona Centro 0 0 0
## Zona Norte 0 0 0
## Zona Oeste 0 0 0
## Zona Oriente 0 0 0
## Zona Sur 5 1 1
##
## sector cañaveralejo guadalupe seminario sierras de normandía
## Zona Centro 0 0 0
## Zona Norte 0 0 0
## Zona Oeste 0 1 1
## Zona Oriente 0 0 0
## Zona Sur 2 31 0
##
## siete de agosto simón bolivar tejares cristales tejares de san
## Zona Centro 0 0 0 0
## Zona Norte 0 0 0 1
## Zona Oeste 0 0 4 10
## Zona Oriente 8 1 0 0
## Zona Sur 0 0 0 3
##
## templete tequendama tequendema terrón colorado
## Zona Centro 0 0 0 0
## Zona Norte 0 1 0 0
## Zona Oeste 0 0 0 1
## Zona Oriente 0 0 0 0
## Zona Sur 4 43 1 0
##
## torres de comfandi unicentro cali unión de vivienda
## Zona Centro 2 0 0
## Zona Norte 55 0 1
## Zona Oeste 0 0 0
## Zona Oriente 0 0 2
## Zona Sur 0 1 0
##
## urbanización barranquilla urbanización boyacá
## Zona Centro 0 0
## Zona Norte 4 0
## Zona Oeste 0 0
## Zona Oriente 0 1
## Zona Sur 0 0
##
## urbanización colseguros urbanizacion el saman
## Zona Centro 0 0
## Zona Norte 0 0
## Zona Oeste 0 0
## Zona Oriente 0 0
## Zona Sur 3 1
##
## urbanizacion gratamira urbanización la flora
## Zona Centro 0 0
## Zona Norte 0 83
## Zona Oeste 0 0
## Zona Oriente 0 0
## Zona Sur 1 0
##
## urbanización la merced urbanización la nueva
## Zona Centro 0 0
## Zona Norte 4 2
## Zona Oeste 0 0
## Zona Oriente 0 2
## Zona Sur 0 0
##
## urbanización las cascadas urbanizacion lili
## Zona Centro 0 0
## Zona Norte 0 0
## Zona Oeste 0 0
## Zona Oriente 0 0
## Zona Sur 1 2
##
## urbanización nueva granada urbanización pacara
## Zona Centro 0 0
## Zona Norte 0 1
## Zona Oeste 0 0
## Zona Oriente 0 0
## Zona Sur 3 0
##
## urbanización río lili urbanización san joaquin
## Zona Centro 0 0
## Zona Norte 0 0
## Zona Oeste 0 0
## Zona Oriente 0 0
## Zona Sur 5 4
##
## urbanización tequendama valle de lili valle del lili
## Zona Centro 0 0 0
## Zona Norte 0 0 4
## Zona Oeste 0 0 0
## Zona Oriente 0 0 0
## Zona Sur 7 1 1004
##
## Valle Del Lili valle grande versalles villa colombia
## Zona Centro 0 0 0 0
## Zona Norte 0 0 70 1
## Zona Oeste 0 0 0 0
## Zona Oriente 0 1 0 5
## Zona Sur 1 0 1 0
##
## villa de veracruz villa del lago villa del parque
## Zona Centro 0 0 0
## Zona Norte 6 0 1
## Zona Oeste 0 0 0
## Zona Oriente 0 10 0
## Zona Sur 0 0 0
##
## villa del prado Villa Del Prado villa del sol villa del sur
## Zona Centro 0 0 0 0
## Zona Norte 51 1 25 0
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 0 3
## Zona Sur 0 0 0 2
##
## villas de veracruz Villas De Veracruz vipasa zona centro
## Zona Centro 0 0 0 1
## Zona Norte 8 1 30 0
## Zona Oeste 0 0 0 0
## Zona Oriente 0 0 0 0
## Zona Sur 0 0 2 0
##
## zona norte zona norte los zona oeste zona oriente
## Zona Centro 0 0 0 0
## Zona Norte 30 1 0 1
## Zona Oeste 2 0 26 0
## Zona Oriente 0 0 0 17
## Zona Sur 0 0 0 0
##
## zona residencial zona sur
## Zona Centro 0 0
## Zona Norte 1 0
## Zona Oeste 0 0
## Zona Oriente 0 0
## Zona Sur 0 74
tabla4 <- table(dfvivienda4$zona, dfvivienda4$estrato)
tabla4 # Tabla cruzada
##
## 3 4 5 6
## Zona Centro 105 14 4 1
## Zona Norte 572 407 769 172
## Zona Oeste 54 84 290 770
## Zona Oriente 340 8 2 1
## Zona Sur 382 1616 1685 1043
Seguidamente se aplica la prueba de hipótesis Chi Cuadrada para evaluar correlación.
chisq.test(tabla1)
##
## Pearson's Chi-squared test
##
## data: tabla1
## X-squared = 690.93, df = 4, p-value < 2.2e-16
chisq.test(tabla2)
## Warning in chisq.test(tabla2): Chi-squared approximation may be incorrect
##
## Pearson's Chi-squared test
##
## data: tabla2
## X-squared = 2468.3, df = 435, p-value < 2.2e-16
chisq.test(tabla3)
## Warning in chisq.test(tabla3): Chi-squared approximation may be incorrect
##
## Pearson's Chi-squared test
##
## data: tabla3
## X-squared = 29343, df = 1740, p-value < 2.2e-16
chisq.test(tabla3)
## Warning in chisq.test(tabla3): Chi-squared approximation may be incorrect
##
## Pearson's Chi-squared test
##
## data: tabla3
## X-squared = 29343, df = 1740, p-value < 2.2e-16
El resultado de estas pruebas para las cuatro pueblas dado el valor-P indica algun tipo de relación de estas variables-
library(factoextra) # Librerías
library(gridExtra)
##
## Attaching package: 'gridExtra'
## The following object is masked from 'package:dplyr':
##
## combine
Procedemos así a realizar el análisis de correspondencia para el primer par de variables tipo y zona
ac1 <- CA(tabla1)
valores_prop <- ac1$eig ; valores_prop
## eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.08305442 100 100
Con este resultado se evidencia que este par de variables no son adecuadas para un análisis de correspondencia.
Continuamos asi con el segundo par de variables tipo y barrio.
ac2 <- CA(tabla2)
valores_prop <- ac2$eig ; valores_prop
## eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.2967032 100 100
De la misma manera se encuentra que este par no es adecuado para el CA, quizas por la poca cantidad de posibilidades de la variable de tipo, limitado a tan solo 2.
Seguimos así con las variables zona y barrio.
ac3 <- CA(tabla3)
valores_prop <- ac3$eig ; valores_prop
## eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.9619479 27.27168 27.27168
## dim 2 0.9298275 26.36105 53.63272
## dim 3 0.8951910 25.37909 79.01181
## dim 4 0.7403118 20.98819 100.00000
fviz_screeplot(ac3, addlabels = TRUE, ylim = c(0, 80))+ggtitle("")+
ylab("Porcentaje de varianza explicado") + xlab("Ejes")
Tenemos así que este par de variables quizas por la abrumadora cantidad de barrios no permite identificar un primer componente con mayor representación de la variación.
Finalmente pasando al par de variables zona y estrato tnemos lo siguiente.
ac4 <- CA(tabla4)
Vemos en el gráfico que en la zona sur, se concentran los estratos 4 y 5, en la zona oeste el estrato 6 y en la zona centro el estrato 3.
valores_prop <- ac4$eig ; valores_prop
## eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.32215213 69.965515 69.96551
## dim 2 0.12745096 27.680002 97.64552
## dim 3 0.01084108 2.354483 100.00000
fviz_screeplot(ac4, addlabels = TRUE, ylim = c(0, 80))+ggtitle("")+
ylab("Porcentaje de varianza explicado") + xlab("Ejes")
Y finalmente encontramos que la primer componente representa la mayor parte de la variación con el 70%
Para concluir tenemos que en cuanto a las variables numéricas de habitaciones, area contruida y baños, se genera un considerable impacto en la varaición y pueden ser variables de interes para la empresa imbobiliaria pues los clientes pueden facilmente verse disuadidos de optar por una vivienda que presente deficiencia en alguno de estos rubros si hay una diferencia pequeña reflejada en el precio, y es de entender pues son estas las variables que pueden facilmente llamar la atención de un cliente, debido a que son las que generan el primer impacto de una persona al llegar a su vivienda. El hecho de que estas variables represententen tal peso en la variación significa probablemente que son variables de alta competitividad en el mercado inmobiliario.
En cuanto a las variables categoricas tenemos que quizas estrato y zona pueden ser las de mayor peso al momento de competir en el mercado pues son ademas influyentes en el precio como se vió en los análisis previos, así que por múltiple razones tener participación en los diferentes segmentos puede potenciar la capacidad del negocio para alcanzar clientes y son de muy alta competitividad.