Introducción.

Una empresa inmobiliaria líder en una gran ciudad está buscando comprender en profundidad el mercado de viviendas urbanas para tomar decisiones estratégicas más informadas. La empresa posee una base de datos extensa que contiene información detallada sobre diversas propiedades residenciales disponibles en el mercado. Se requiere realizar un análisis holístico de estos datos para identificar patrones, relaciones y segmentaciones relevantes que permitan mejorar la toma de decisiones en cuanto a la compra, venta y valoración de propiedades.

Objetivo.

Este informe presenta un análisis exhaustivo de una base de datos inmobiliaria con el objetivo de identificar patrones y tendencias clave que guíen las decisiones estratégicas de la empresa. Mediante técnicas avanzadas de análisis de datos, se ha explorado la distribución de propiedades, precios, y características fundamentales que afectan la oferta y demanda en el mercado. Este análisis proporciona una base sólida para optimizar las inversiones y maximizar los beneficios en un entorno competitivo.

Métodos.

Tras el análisis inicial, se emplearon diversos métodos estadísticos para evaluar la relación entre el precio de la vivienda y su área construida. Entre estos métodos se incluyeron:

1. Validez y confiabilidad: Para validar la confiabilidad de los datos suministrados, se llevó a cabo un proceso exhaustivo 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 oferta del mercado.

2.Análisis de Conglomerados: Agrupar las propiedades residenciales en segmentos homogéneos con características similares para entender las dinámicas de las ofertas específicas en diferentes partes de la ciudad y en diferentes estratos socioeconómicos.

3.Análisis de Correspondencia : Examinar la relación entre las variables categóricas (tipo de vivienda, zona y barrio), para identificar patrones de comportamiento de la oferta en mercado inmobiliario.

4.Visualización de resultados: Presentar gráficos, mapas y otros recursos visuales para comunicar los hallazgos de manera clara y efectiva a la dirección de la empresa.

1. Análisis de Componentes Principales:

Valores Nulos y Limpieza de datos: Identificación y tratamiento de valores nulos en los datos.

Los datos han sido revisados para asegurar su integridad, confirmando que no hay información faltante o vacía en el conjunto de datos.

El dataset despues de la limpieza contiene información de 8,262 propiedades distribuidas en diversas zonas y barrios. Las variables principales incluyen el precio por metro cuadrado (preciom), área construida (areaconst), número de parqueaderos, baños, y habitaciones, entre otras. Las estadísticas descriptivas revelan lo siguiente:

• Precio por m² (preciom): La media es de 434.7 unidades monetarias, con un rango que va desde 58 hasta 1999.

• Área construida (areaconst): La media es de 175.1 m², con un rango de 30 m² a 1745 m².

• Número de habitaciones: La mayoría de las propiedades tienen entre 3 y 4 habitaciones.

library(paqueteMODELOS)
library(dplyr)
library(tidyr)
data(vivienda) #Data a analisar 
str(vivienda)
## spc_tbl_ [8,322 × 13] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ id          : num [1:8322] 1147 1169 1350 5992 1212 ...
##  $ zona        : chr [1:8322] "Zona Oriente" "Zona Oriente" "Zona Oriente" "Zona Sur" ...
##  $ piso        : chr [1:8322] NA NA NA "02" ...
##  $ estrato     : num [1:8322] 3 3 3 4 5 5 4 5 5 5 ...
##  $ preciom     : num [1:8322] 250 320 350 400 260 240 220 310 320 780 ...
##  $ areaconst   : num [1:8322] 70 120 220 280 90 87 52 137 150 380 ...
##  $ parqueaderos: num [1:8322] 1 1 2 3 1 1 2 2 2 2 ...
##  $ banios      : num [1:8322] 3 2 2 5 2 3 2 3 4 3 ...
##  $ habitaciones: num [1:8322] 6 3 4 3 3 3 3 4 6 3 ...
##  $ tipo        : chr [1:8322] "Casa" "Casa" "Casa" "Casa" ...
##  $ barrio      : chr [1:8322] "20 de julio" "20 de julio" "20 de julio" "3 de julio" ...
##  $ longitud    : num [1:8322] -76.5 -76.5 -76.5 -76.5 -76.5 ...
##  $ latitud     : num [1:8322] 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>
viviendas_uso <- (vivienda) #Renombrar tabla para modificar

##Limpieza de Variable areaconst

viviendas_uso$areaconst <- trunc(viviendas_uso$areaconst)

##Limpieza de Variable parquea por nulos

viviendas_uso <- viviendas_uso %>%
  mutate(parqueaderos = replace_na(parqueaderos, 0))

##Limpieza de Variable piso por nulos

viviendas_uso$piso [is.na(viviendas_uso$piso ) ] <-0


# Convertir la columna 'barrio' a mayúsculas

viviendas_uso$zona <- toupper(viviendas_uso$zona)

viviendas_uso$barrio <- toupper(viviendas_uso$barrio)

#Borrar datos nulos 

  viviendas_uso <- viviendas_uso[!is.na(viviendas_uso$id),]
  
#Eliminar duplicados
  
viviendas_uso<-distinct(viviendas_uso,zona,piso,estrato,preciom,areaconst,parqueaderos,banios,habitaciones,tipo,barrio,longitud,latitud)

faltantes <- colSums(is.na(viviendas_uso)) %>%
                 as.data.frame() 
faltantes
##              .
## zona         0
## piso         0
## estrato      0
## preciom      0
## areaconst    0
## parqueaderos 0
## banios       0
## habitaciones 0
## tipo         0
## barrio       0
## longitud     0
## latitud      0

Razones para Reemplazar NA por un Valor Específico Preparación de Datos para Análisis:

Problema con NA: Muchos análisis estadísticos y modelos de machine learning no pueden manejar valores NA directamente. Estos valores faltantes pueden causar errores o resultados incorrectos durante el análisis. Solución: Reemplazar los NA con un valor específico como 0 asegura que la columna tenga valores numéricos válidos para ser utilizados en cálculos, modelos y visualizaciones.

Interpretación del Valor 0:

Contexto del Dato: Si NA representa la ausencia de un valor en la columna piso, asignar 0 puede tener sentido si 0 se interpreta como “sin piso” o “piso no especificado”. Esto es común en campos donde 0 tiene un significado lógico, como en el caso de recuentos o medidas donde la ausencia de un piso podría ser representada por 0.

Eliminar información Duplicada: Proceso para eliminar registros duplicados y garantizar la integridad de los datos.

Se examinó minuciosamente el conjunto de datos para detectar duplicados en las variables ‘zona’, ‘tipo’, ‘estrato’, ‘areaconst’ y ‘preciom’ y las demas variables de la cuales se confirmó que no se encontraron duplicados. Este hallazgo demuestra que los datos son integrales y consistentes, lo que es crucial para garantizar la precisión y confiabilidad de los resultados en el análisis subsiguiente.

num_duplicados <- sum(duplicated(viviendas_uso[, c('zona','piso','estrato','preciom','areaconst','parqueaderos','banios','habitaciones','tipo','barrio','longitud','latitud')]))
cat("Se evidencia la existencia de: ", num_duplicados,"duplicados","\n")
## Se evidencia la existencia de:  0 duplicados

Mostrar la estructura de los datos:

library(dplyr)
library(tidyr)
library(ggplot2)
library(corrplot)
library(psych)
library(ggpubr)
library(sf)
# Mostrar la estructura de los datos
str(viviendas_uso)
## spc_tbl_ [8,262 × 12] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ zona        : chr [1:8262] "ZONA ORIENTE" "ZONA ORIENTE" "ZONA ORIENTE" "ZONA SUR" ...
##  $ piso        : chr [1:8262] "0" "0" "0" "02" ...
##  $ estrato     : num [1:8262] 3 3 3 4 5 5 4 5 5 5 ...
##  $ preciom     : num [1:8262] 250 320 350 400 260 240 220 310 320 780 ...
##  $ areaconst   : num [1:8262] 70 120 220 280 90 87 52 137 150 380 ...
##  $ parqueaderos: num [1:8262] 1 1 2 3 1 1 2 2 2 2 ...
##  $ banios      : num [1:8262] 3 2 2 5 2 3 2 3 4 3 ...
##  $ habitaciones: num [1:8262] 6 3 4 3 3 3 3 4 6 3 ...
##  $ tipo        : chr [1:8262] "Casa" "Casa" "Casa" "Casa" ...
##  $ barrio      : chr [1:8262] "20 DE JULIO" "20 DE JULIO" "20 DE JULIO" "3 DE JULIO" ...
##  $ longitud    : num [1:8262] -76.5 -76.5 -76.5 -76.5 -76.5 ...
##  $ latitud     : num [1:8262] 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>
# Resumen estadístico de los datos
summary(viviendas_uso)
##      zona               piso              estrato         preciom      
##  Length:8262        Length:8262        Min.   :3.000   Min.   :  58.0  
##  Class :character   Class :character   1st Qu.:4.000   1st Qu.: 220.0  
##  Mode  :character   Mode  :character   Median :5.000   Median : 330.0  
##                                        Mean   :4.635   Mean   : 434.7  
##                                        3rd Qu.:5.000   3rd Qu.: 548.0  
##                                        Max.   :6.000   Max.   :1999.0  
##    areaconst       parqueaderos        banios        habitaciones   
##  Min.   :  30.0   Min.   : 0.000   Min.   : 0.000   Min.   : 0.000  
##  1st Qu.:  80.0   1st Qu.: 1.000   1st Qu.: 2.000   1st Qu.: 3.000  
##  Median : 123.0   Median : 1.000   Median : 3.000   Median : 3.000  
##  Mean   : 175.1   Mean   : 1.484   Mean   : 3.113   Mean   : 3.607  
##  3rd Qu.: 229.0   3rd Qu.: 2.000   3rd Qu.: 4.000   3rd Qu.: 4.000  
##  Max.   :1745.0   Max.   :10.000   Max.   :10.000   Max.   :10.000  
##      tipo              barrio             longitud         latitud     
##  Length:8262        Length:8262        Min.   :-76.59   Min.   :3.333  
##  Class :character   Class :character   1st Qu.:-76.54   1st Qu.:3.381  
##  Mode  :character   Mode  :character   Median :-76.53   Median :3.416  
##                                        Mean   :-76.53   Mean   :3.418  
##                                        3rd Qu.:-76.52   3rd Qu.:3.452  
##                                        Max.   :-76.46   Max.   :3.498
# Ver las primeras filas
head(viviendas_uso)
## # A tibble: 6 × 12
##   zona    piso  estrato preciom areaconst parqueaderos banios habitaciones tipo 
##   <chr>   <chr>   <dbl>   <dbl>     <dbl>        <dbl>  <dbl>        <dbl> <chr>
## 1 ZONA O… 0           3     250        70            1      3            6 Casa 
## 2 ZONA O… 0           3     320       120            1      2            3 Casa 
## 3 ZONA O… 0           3     350       220            2      2            4 Casa 
## 4 ZONA S… 02          4     400       280            3      5            3 Casa 
## 5 ZONA N… 01          5     260        90            1      2            3 Apar…
## 6 ZONA N… 01          5     240        87            1      3            3 Apar…
## # ℹ 3 more variables: barrio <chr>, longitud <dbl>, latitud <dbl>
# Estadísticas descriptivas
describe(viviendas_uso)
##              vars    n   mean     sd median trimmed    mad    min     max
## zona*           1 8262   3.92   1.33   5.00    4.04   0.00   1.00    5.00
## piso*           2 8262   3.57   2.78   3.00    3.09   2.97   1.00   13.00
## estrato         3 8262   4.64   1.03   5.00    4.67   1.48   3.00    6.00
## preciom         4 8262 434.68 329.42 330.00  375.11 212.01  58.00 1999.00
## areaconst       5 8262 175.13 143.15 123.00  149.31  84.51  30.00 1745.00
## parqueaderos    6 8262   1.48   1.24   1.00    1.33   1.48   0.00   10.00
## banios          7 8262   3.11   1.43   3.00    2.99   1.48   0.00   10.00
## habitaciones    8 8262   3.61   1.46   3.00    3.41   1.48   0.00   10.00
## tipo*           9 8262   1.39   0.49   1.00    1.36   0.00   1.00    2.00
## barrio*        10 8262 226.83 120.62 237.00  230.50 160.12   1.00  407.00
## longitud       11 8262 -76.53   0.02 -76.53  -76.53   0.02 -76.59  -76.46
## latitud        12 8262   3.42   0.04   3.42    3.42   0.05   3.33    3.50
##                range  skew kurtosis   se
## zona*           4.00 -0.59    -1.37 0.01
## piso*          12.00  1.31     1.33 0.03
## estrato         3.00 -0.19    -1.11 0.01
## preciom      1941.00  1.84     3.64 3.62
## areaconst    1715.00  2.69    12.91 1.57
## parqueaderos   10.00  1.65     5.41 0.01
## banios         10.00  0.92     1.12 0.02
## habitaciones   10.00  1.63     3.96 0.02
## tipo*           1.00  0.46    -1.79 0.01
## barrio*       406.00 -0.09    -1.25 1.33
## longitud        0.13  0.65     0.58 0.00
## latitud         0.16  0.03    -1.15 0.00

Visualización:

Visualización Variables

# Distribución de zonas
ggplot(viviendas_uso, aes(x = zona)) +
  geom_bar(fill = "steelblue") +
  labs(title = "Distribución de Zonas", x = "Zona", y = "Frecuencia") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

#--------------------------------------------------------------------

# Distribución de tipos de propiedades
ggplot(viviendas_uso, aes(x = tipo)) +
  geom_bar(fill = "darkgreen") +
  labs(title = "Distribución de Tipos de Propiedad", x = "Tipo", y = "Frecuencia") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

#--------------------------------------------------------------------


# Calcular la frecuencia de cada barrio
barrio_frequencies <- viviendas_uso %>%
  count(barrio) %>%
  arrange(desc(n)) %>%
  top_n(10, n)

# Crear el gráfico de barras para los 10 barrios con mayor ocupación
ggplot(barrio_frequencies, aes(x = reorder(barrio, n), y = n)) +
  geom_bar(stat = "identity", fill = "purple") +
  labs(title = "Top 10 Barrios con Mayor Ocupación", x = "Barrio", y = "Frecuencia") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

#--------------------------------------------------------------------

# Histograma del precio por m²
ggplot(viviendas_uso, aes(x = preciom)) +
  geom_histogram(binwidth = 50, fill = "blue", color = "black") +
  labs(title = "Distribución del Precio por m²", x = "Precio por m²", y = "Frecuencia")

#--------------------------------------------------------------------
# Boxplot del precio por m² según el tipo de propiedad
ggplot(viviendas_uso, aes(x = tipo, y = preciom, fill = tipo)) +
  geom_boxplot() +
  labs(title = "Precio por m² por Tipo de Propiedad", x = "Tipo de Propiedad", y = "Precio por m²")

Distribución de Zonas El análisis de la distribución de zonas mostró que las propiedades están distribuidas principalmente en las zonas Oriente, Norte y Sur, con una menor representación en otras zonas. Esto sugiere una concentración significativa de la oferta en ciertas áreas geográficas, lo que podría influir en los precios y la demanda.

Tipos de Propiedades La mayoría de las propiedades son casas, seguidas por apartamentos. Esta predominancia de un tipo de propiedad en particular puede afectar la estrategia de diversificación de la cartera de inversión.

Distribución de Barrios Se identificaron los siete barrios con mayor frecuencia de propiedades, lo que indica áreas de alta densidad de oferta. Este conocimiento es crucial para entender dónde se concentran las inversiones actuales y dónde podrían surgir oportunidades de mercado no explotadas.

# Correlaciones entre variables numéricas
numeric_vars <- viviendas_uso%>%
  select(preciom, areaconst, parqueaderos, banios, habitaciones)
#--------------------------------------------------------------------
# Matriz de correlación
cor_matrix <- cor(numeric_vars, use = "complete.obs")
corrplot(cor_matrix, method = "circle")

#--------------------------------------------------------------------

# Crear un objeto de puntos geoespaciales
viviendas_sf <- st_as_sf(viviendas_uso, coords = c("longitud", "latitud"), crs = 4326)

# Visualizar la distribución geográfica
ggplot(data = viviendas_sf) +
  geom_sf() +
  labs(title = "Distribución Geográfica de Propiedades") +
  theme_minimal()

Correlaciones Destacadas: • preciom vs areaconst: Existe una correlación positiva fuerte, lo que indica que a medida que aumenta el área construida, también tiende a aumentar el precio por metro cuadrado.

• preciom vs parqueaderos: También se observa una correlación positiva significativa, sugiriendo que propiedades con más parqueaderos tienden a tener un mayor precio por metro cuadrado.

• preciom vs baños y preciom vs habitaciones: Las correlaciones son positivas, pero menos fuertes en comparación con las otras variables, lo que indica que aunque el número de baños y habitaciones influye en el precio, la relación no es tan directa o fuerte como con el área construida y el número de parqueaderos.

• areaconst vs habitaciones: Existe una fuerte correlación positiva, lo que es lógico ya que las propiedades más grandes suelen tener más habitaciones

2. Análisis de Conglomerados:

Análisis de Componentes Principales (PCA) El análisis de componentes principales redujo la dimensionalidad del conjunto de datos para identificar las variables clave que influyen en la variación de precios y oferta. Los primeros dos componentes principales explican el 82.73% de la varianza total, destacando que las variables más influyentes son el área construida y el número de parqueaderos.

El biplot generado muestra cómo se relacionan los diferentes tipos de propiedad con estas variables, permitiendo una visualización clara de los patrones en el mercado.

# Cargar librerías necesarias
library(dplyr)
library(ggplot2)
library(FactoMineR)
library(factoextra)

# Seleccionar y escalar las variables numéricas
numeric_vars <- viviendas_uso %>%
  select(areaconst, parqueaderos, banios, habitaciones)

numeric_vars_scaled <- scale(numeric_vars)

# Realizar PCA para reducir la dimensionalidad
pca_result <- prcomp(numeric_vars_scaled, center = TRUE, scale. = TRUE)

# Extraer las componentes principales
pca_data <- pca_result$x[, 1:2]  # Usaremos los dos primeros componentes principales para el clustering

# Determinar el número óptimo de clústeres usando el método del codo
fviz_nbclust(pca_data, kmeans, method = "wss") +
  labs(title = "Método del Codo para Determinar el Número de Clústeres")

# Aplicar el algoritmo k-means
set.seed(123)  # Fijar la semilla para reproducibilidad
k <- 4  # Número de clústeres determinado (ajustar según el gráfico del codo)
kmeans_result <- kmeans(pca_data, centers = k, nstart = 25)

# Agregar la asignación de clústeres a los datos originales
viviendas_uso$cluster <- as.factor(kmeans_result$cluster)


# Visualizar los clústeres en el espacio de las dos primeras componentes principales
fviz_pca_ind(pca_result, 
             geom.ind = "point", 
             pointshape = 21, 
             pointsize = 2,
             fill.ind = viviendas_uso$cluster, 
             col.ind = "black",
             palette = "jco", 
             addEllipses = TRUE, 
             ellipse.type = "norm") +
  labs(title = "Clustering de Propiedades Residenciales", x = "PC1", y = "PC2")

# Resumen por clúster
cluster_summary <- viviendas_uso %>%
  group_by(cluster) %>%
  summarise(across(c(areaconst, parqueaderos, banios, habitaciones, preciom), mean, na.rm = TRUE))

print(cluster_summary)
## # A tibble: 4 × 6
##   cluster areaconst parqueaderos banios habitaciones preciom
##   <fct>       <dbl>        <dbl>  <dbl>        <dbl>   <dbl>
## 1 1            91.1        0.812   2.07         2.84    239.
## 2 2           196.         2.02    3.72         3.59    570.
## 3 3           458.         4.30    5.48         4.84   1053.
## 4 4           323.         0.989   4.66         6.66    517.

Análisis de Conglomerados (Clustering)

Se aplicó un análisis de conglomerados utilizando el método de k-means, identificando cuatro segmentos homogéneos de propiedades: 1. Cluster 1: Propiedades pequeñas con menor precio por m² y menos parqueaderos. 2. Cluster 2: Propiedades medianas con precios y características moderadas. 3. Cluster 3: Propiedades grandes, con altos precios y múltiples parqueaderos. 4. Cluster 4: Propiedades grandes, pero con menos parqueaderos, probablemente ubicadas en zonas con mayor densidad urbana. Este análisis es vital para la segmentación del mercado, permitiendo una focalización precisa de las estrategias de marketing e inversión.

# Crear una tabla de contingencia tridimensional
tabla_contingencia <- table(viviendas_uso$tipo, viviendas_uso$zona, viviendas_uso$barrio)

# Mostrar la tabla para entender su estructura



# Crear tablas de contingencia bidimensionales para cada par de variables

# Para zona vs barrio
tabla_zona_barrio <- margin.table(tabla_contingencia, c(3,2 ))




if (!requireNamespace("ca", quietly = TRUE)) install.packages("ca")
library(ca)


# Análisis de Correspondencia para zona vs barrio
resultado_ac_zona_barrio <- ca(tabla_zona_barrio)
summary(resultado_ac_zona_barrio)
## 
## Principal inertias (eigenvalues):
## 
##  dim    value      %   cum%   scree plot               
##  1      0.961665  27.3  27.3  *******                  
##  2      0.929560  26.4  53.6  *******                  
##  3      0.894884  25.4  79.0  ******                   
##  4      0.739595  21.0 100.0  *****                    
##         -------- -----                                 
##  Total: 3.525704 100.0                                 
## 
## 
## Rows:
##                  name   mass  qlt  inr    k=1 cor ctr     k=2 cor ctr  
## 1   |            20DE |    0   81    2 |  842  31   0 | -1063  50   0 |
## 2   |            3DEJ |    0  960    0 | -809 856   0 |  -282 104   0 |
## 3   |            ACOP |   19  862   18 | 1567 749  48 |  -607 112   8 |
## 4   |           AGUAB |    0   81    1 |  842  31   0 | -1063  50   0 |
## 5   |           AGUAB |    0   85    0 |   17   0   0 |  -672  85   0 |
## 6   |           AGUAC |   13  985   22 |  369  24   2 |  2359 961  79 |
## 7   |         ALAMEDA |    2    1   17 | -135   1   0 |   -59   0   0 |
## 8   |    ALAMEDADELRI |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 9   |    ALAMEDADELRÍ |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 10  |           ALAMO |    2  863    2 | 1582 751   4 |  -609 111   1 |
## 11  |            ALBO |    0  960    0 | -809 856   0 |  -282 104   0 |
## 12  |            ALCA |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 13  |            ALFR |    1  960    0 | -809 856   0 |  -282 104   0 |
## 14  |            ALFE |    0  960    0 | -809 856   0 |  -282 104   0 |
## 15  |       ALFONSOLO |    0   81    1 |  842  31   0 | -1063  50   0 |
## 16  |    ALFONSOLÓPEZ |    3   81   16 |  842  31   2 | -1063  50   3 |
## 17  |   ALFONSOLÓPEZI |    0   81    1 |  842  31   0 | -1063  50   0 |
## 18  |           ALTOJ |    0  960    0 | -809 856   0 |  -282 104   0 |
## 19  |        ALTOSDEG |    0  965    0 | -511 617   0 |   385 349   0 |
## 20  |        ALTOSDEM |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 21  |        ALTOSDES |    0  985    0 |  380  24   0 |  2383 960   1 |
## 22  |            ANTO |    0   81    2 |  842  31   0 | -1063  50   0 |
## 23  |            ARAN |    2    0   29 |  106   0   0 |    21   0   0 |
## 24  |        ARBOLEDA |    1  985    1 |  142   6   0 |  1850 979   2 |
## 25  |       ARBOLEDAC |    0   81    1 |  842  31   0 | -1063  50   0 |
## 26  |       ARBOLEDAS |    5  985    8 |  380  24   1 |  2383 960  28 |
## 27  |            ATAN |    1  106    5 |  924  48   1 | -1012  58   1 |
## 28  |            AUTO |    0   81    1 |  842  31   0 | -1063  50   0 |
## 29  |            BAJO |    0  985    0 |  380  24   0 |  2383 960   1 |
## 30  |           BARRA |    1  863    1 | 1582 751   2 |  -609 111   0 |
## 31  |         BARRIO7 |    0   81    1 |  842  31   0 | -1063  50   0 |
## 32  |        BARRIOEL |    0   81    1 |  842  31   0 | -1063  50   0 |
## 33  |        BARRIOEU |    0  960    0 | -809 856   0 |  -282 104   0 |
## 34  |         BARRIOO |    0    0    2 |  172   0   0 |    43   0   0 |
## 35  |         BARRIOT |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 36  |            BASE |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 37  |            BELA |    0    0    5 |  -73   0   0 |   -39   0   0 |
## 38  |            BELI |    0  960    0 | -809 856   0 |  -282 104   0 |
## 39  |      BELLASUIZA |    2  985    2 |   50   1   0 |  1643 984   6 |
## 40  |     BELLASUIZAA |    0  984    0 | -214  39   0 |  1051 944   1 |
## 41  |          BELLAV |    5  985    9 |  380  24   1 |  2383 960  32 |
## 42  |            BENJ |    1   65    5 |  675  28   0 |  -786  38   1 |
## 43  |            BERL |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 44  |            BLOQ |    0  960    0 | -809 856   0 |  -282 104   0 |
## 45  |            BOCH |    4  960    1 | -809 856   3 |  -282 104   0 |
## 46  |            BOLI |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 47  |      BOSQUESDEA |    0  985    0 |  380  24   0 |  2383 960   1 |
## 48  |      BOSQUESDEL |    2  960    1 | -809 856   2 |  -282 104   0 |
## 49  |            BOYA |    0   81    1 |  842  31   0 | -1063  50   0 |
## 50  |            BRET |    2    0   24 |  -12   0   0 |   -18   0   0 |
## 51  |       BRISASDEG |    0  960    0 | -809 856   0 |  -282 104   0 |
## 52  |      BRISASDELO |   10  863    9 | 1582 751  26 |  -609 111   4 |
## 53  |      BRISASDELG |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 54  |      BRISASDELL |    0  960    0 | -809 856   0 |  -282 104   0 |
## 55  |          BUENOM |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 56  |          BUENOS |    1  960    0 | -809 856   1 |  -282 104   0 |
## 57  |            CALD |    0  960    0 | -809 856   0 |  -282 104   0 |
## 58  |            CALI |    4  844    3 | 1323 710   8 |  -573 133   2 |
## 59  |           CALIB |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 60  |       CALICANTO |    0  960    0 | -809 856   0 |  -282 104   0 |
## 61  |           CALIB |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 62  |       CALICANTO |    1  960    0 | -809 856   1 |  -282 104   0 |
## 63  |      CALICANTOV |    0  960    0 | -809 856   0 |  -282 104   0 |
## 64  |          CALIMA |    1  863    1 | 1582 751   2 |  -609 111   0 |
## 65  |          CALIMI |    1  863    1 | 1582 751   2 |  -609 111   0 |
## 66  |           CALIP |    1   81    9 |  842  31   1 | -1063  50   2 |
## 67  |            CAMB |    0  577    0 |  -12   1   0 |  -391 576   0 |
## 68  |            CAMI |    4  960    1 | -809 856   3 |  -282 104   0 |
## 69  |            CAMP |    0  960    0 | -809 856   0 |  -282 104   0 |
## 70  |           CANEY |   11  960    2 | -809 856   7 |  -282 104   1 |
## 71  |          CANEYE |    1  960    0 | -809 856   0 |  -282 104   0 |
## 72  |           CAÑAS |    1  960    0 | -809 856   1 |  -282 104   0 |
## 73  |     CAÑAVERALEJ |    1  960    0 | -809 856   1 |  -282 104   0 |
## 74  |     CAÑAVERALES |    3  960    1 | -809 856   2 |  -282 104   0 |
## 75  |    CAÑAVERALESL |    0  960    0 | -809 856   0 |  -282 104   0 |
## 76  |            CAPR |    7  960    1 | -809 856   5 |  -282 104   1 |
## 77  |            CASC |    0  960    0 | -809 856   0 |  -282 104   0 |
## 78  |            CATA |    0  960    0 | -809 856   0 |  -282 104   0 |
## 79  |            CEIB |    0   81    1 |  842  31   0 | -1063  50   0 |
## 80  |          CENTEL |    0    0    2 |  172   0   0 |    43   0   0 |
## 81  |          CENTEN |    2  877    1 | 1356 876   4 |   -48   1   0 |
## 82  |           CENTR |    0    0    9 |  172   0   0 |    43   0   0 |
## 83  |          CERROC |    3  985    4 |  326  20   0 |  2262 965  15 |
## 84  |          CERROS |    0  960    0 | -809 856   0 |  -282 104   0 |
## 85  |            CHAM |    2  960    0 | -809 856   1 |  -282 104   0 |
## 86  |            CHAP |    1  115    4 |  948  55   1 |  -998  61   1 |
## 87  |     CHIMINANGOS |    2  863    2 | 1582 751   5 |  -609 111   1 |
## 88  |    CHIMINANGOS1 |    0   81    1 |  842  31   0 | -1063  50   0 |
## 89  |    CHIMINANGOS2 |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 90  |            CHIP |    4  863    3 | 1582 751   9 |  -609 111   1 |
## 91  |         CIUDAD2 |   11  960    2 | -809 856   8 |  -282 104   1 |
## 92  |         CIUDADA |    0  960    0 | -809 856   0 |  -282 104   0 |
## 93  |         CIUDADB |    6  960    1 | -809 856   4 |  -282 104   0 |
## 94  |        CIUDADCA |    2  960    0 | -809 856   1 |  -282 104   0 |
## 95  |       CIUDADCOR |    2   81   16 |  842  31   2 | -1063  50   3 |
## 96  |   CIUDADCÓRDOBA |    2   80   10 |  732  27   1 | -1010  52   2 |
## 97  |  CIUDADCÓRDOBAR |    0   81    1 |  842  31   0 | -1063  50   0 |
## 98  |       CIUDADCOU |    0  960    0 | -809 856   0 |  -282 104   0 |
## 99  |         CIUDADD |    0   81    1 |  842  31   0 | -1063  50   0 |
## 100 |    CIUDADJARDIN |    3  960    1 | -809 856   2 |  -282 104   0 |
## 101 |     CIUDADJARDÍ |   62  958   13 | -795 850  41 |  -284 108   5 |
## 102 |   CIUDADJARDINP |    0  960    0 | -809 856   0 |  -282 104   0 |
## 103 |      CIUDADLOSA |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 104 |      CIUDADLOSÁ |    3  863    3 | 1582 751   8 |  -609 111   1 |
## 105 |      CIUDADMELN |    0  960    0 | -809 856   0 |  -282 104   0 |
## 106 |      CIUDADMELE |    0  960    0 | -809 856   0 |  -282 104   0 |
## 107 |        CIUDADMO |    1   78    4 |  606  22   0 |  -951  55   1 |
## 108 |         CIUDADP |    0  960    0 | -809 856   0 |  -282 104   0 |
## 109 |         CIUDADR |    0  960    0 | -809 856   0 |  -282 104   0 |
## 110 |         CIUDADT |    0   81    1 |  842  31   0 | -1063  50   0 |
## 111 |         CIUDADU |    0  960    0 | -809 856   0 |  -282 104   0 |
## 112 |      CIUDADELAC |    2  960    0 | -809 856   1 |  -282 104   0 |
## 113 |      CIUDADELAD |    0   81    1 |  842  31   0 | -1063  50   0 |
## 114 |      CIUDADELAM |    0  960    0 | -809 856   0 |  -282 104   0 |
## 115 |      CIUDADELAP |    0  960    0 | -809 856   0 |  -282 104   0 |
## 116 |      CIUDADELAP |    3  960    1 | -809 856   2 |  -282 104   0 |
## 117 |      COLINASDEM |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 118 |     COLINASDELB |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 119 |     COLINASDELS |    1  960    0 | -809 856   1 |  -282 104   0 |
## 120 |            COLO |    0  960    0 | -809 856   0 |  -282 104   0 |
## 121 |      COLSEGUROS |    5  965    1 | -786 860   3 |  -274 105   0 |
## 122 |     COLSEGUROSA |    1  960    0 | -809 856   0 |  -282 104   0 |
## 123 |            COMF |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 124 |            COMP |    0   81    1 |  842  31   0 | -1063  50   0 |
## 125 |            CONJ |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 126 |          CRISTA |   10  985   16 |  380  26   2 |  2315 960  58 |
## 127 |          CRISTO |    2  960    0 | -809 856   1 |  -282 104   0 |
## 128 |          CRISTÓ |    0  960    0 | -809 856   0 |  -282 104   0 |
## 129 |            CUAR |    5  960    1 | -809 856   4 |  -282 104   0 |
## 130 |            DEPA |    4  960    1 | -809 856   2 |  -282 104   0 |
## 131 |            EDBE |    0    0    2 |  172   0   0 |    43   0   0 |
## 132 |            ELBO |    6  863    6 | 1582 751  16 |  -609 111   2 |
## 133 |           ELCAN |   25  960    5 | -809 856  17 |  -282 104   2 |
## 134 |           ELCAS |    1  960    0 | -809 856   0 |  -282 104   0 |
## 135 |            ELCE |    1  871    0 | -510 622   0 |  -323 249   0 |
## 136 |            ELDI |    0   81    2 |  842  31   0 | -1063  50   0 |
## 137 |            ELDO |    1  960    0 | -809 856   0 |  -282 104   0 |
## 138 |            ELGR |    1  871    0 | -510 622   0 |  -323 249   0 |
## 139 |         ELGUABA |    2  960    0 | -809 856   2 |  -282 104   0 |
## 140 |         ELGUABI |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 141 |       ELINGENIO |   25  960    5 | -809 856  17 |  -282 104   2 |
## 142 |      ELINGENIO3 |    0  960    0 | -809 856   0 |  -282 104   0 |
## 143 |      ELINGENIOI |    2  960    0 | -809 856   2 |  -282 104   0 |
## 144 |     ELINGENIOII |    2  960    1 | -809 856   2 |  -282 104   0 |
## 145 |    ELINGENIOIII |    2  960    1 | -809 856   2 |  -282 104   0 |
## 146 |            ELJA |    2   80   10 |  732  27   1 | -1010  52   2 |
## 147 |            ELJO |    0  960    0 | -809 856   0 |  -282 104   0 |
## 148 |           ELLID |    7  953    1 | -767 836   4 |  -287 117   1 |
## 149 |           ELLIM |   16  960    3 | -809 856  11 |  -282 104   1 |
## 150 |            ELNA |    0  985    0 |  380  24   0 |  2383 960   1 |
## 151 |            ELPA |    0   81    2 |  842  31   0 | -1063  50   0 |
## 152 |            ELPE |    7  986   12 |  400  28   1 |  2333 957  42 |
## 153 |            ELPR |    0   81    2 |  842  31   0 | -1063  50   0 |
## 154 |            ELRE |   14  960    3 | -809 856  10 |  -282 104   1 |
## 155 |            ELRO |    0   81    1 |  842  31   0 | -1063  50   0 |
## 156 |            ELSE |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 157 |           ELTRB |    1  135    2 |  990  69   1 |  -972  66   1 |
## 158 |           ELTRO |    2  106   10 |  885  49   2 |  -957  57   2 |
## 159 |            ELVA |    0   81    1 |  842  31   0 | -1063  50   0 |
## 160 |            EUCA |    0  960    0 | -809 856   0 |  -282 104   0 |
## 161 |            EVAR |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 162 |            FARR |    0  960    0 | -809 856   0 |  -282 104   0 |
## 163 |            FENA |    0   81    1 |  842  31   0 | -1063  50   0 |
## 164 |            FEPI |    0   81    1 |  842  31   0 | -1063  50   0 |
## 165 |           FLORA |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 166 |          FLORAI |    2  833    2 | 1494 728   4 |  -568 105   1 |
## 167 |          FLORAL |    1  863    1 | 1582 751   2 |  -609 111   0 |
## 168 |            FONA |    0   81    1 |  842  31   0 | -1063  50   0 |
## 169 |            FRAN |    0  960    0 | -809 856   0 |  -282 104   0 |
## 170 |            FUEN |    0  960    0 | -809 856   0 |  -282 104   0 |
## 171 |            GAIT |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 172 |           GRANL |    3  960    1 | -809 856   2 |  -282 104   0 |
## 173 |           GRANA |    2  863    2 | 1582 751   5 |  -609 111   1 |
## 174 |       GUADALUPE |    3  960    1 | -809 856   2 |  -282 104   0 |
## 175 |      GUADALUPEA |    0  985    0 |  380  24   0 |  2383 960   1 |
## 176 |           GUADU |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 177 |            GUAY |    2    1   27 |  199   1   0 |   -18   0   0 |
## 178 |            HACI |    0  960    0 | -809 856   0 |  -282 104   0 |
## 179 |         INGENIO |    0  960    0 | -809 856   0 |  -282 104   0 |
## 180 |        INGENIOI |    0  960    0 | -809 856   0 |  -282 104   0 |
## 181 |       INGENIOII |    0  960    0 | -809 856   0 |  -282 104   0 |
## 182 |         JAMUNDI |    0  960    0 | -809 856   0 |  -282 104   0 |
## 183 |        JAMUNDIA |    0  960    0 | -809 856   0 |  -282 104   0 |
## 184 |          JORGEE |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 185 |          JORGEI |    0    0    2 |  172   0   0 |    43   0   0 |
## 186 |            JOSE |    0   81    1 |  842  31   0 | -1063  50   0 |
## 187 |         JUANAMB |    6  874    4 | 1378 869  13 |  -101   5   0 |
## 188 |        JUANAMBU |    0  966    0 |  981 531   0 |   887 435   0 |
## 189 |            JUNI |    2    0   36 |  117   0   0 |    25   0   0 |
## 190 |            JUNÍ |    1    4    3 |  -43   0   0 |  -250   4   0 |
## 191 |           LAALB |    1  960    0 | -809 856   0 |  -282 104   0 |
## 192 |           LAALI |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 193 |            LAAR |    2  985    4 |  380  24   0 |  2383 960  13 |
## 194 |            LABA |    2   95   10 |  892  41   2 | -1032  54   2 |
## 195 |            LABU |    0  960    0 | -809 856   0 |  -282 104   0 |
## 196 |           LACAM |    2  863    1 | 1582 751   4 |  -609 111   1 |
## 197 |           LACAS |    1  957    0 | -639 934   0 |    99  22   0 |
## 198 |            LACE |    0   81    1 |  842  31   0 | -1063  50   0 |
## 199 |            LAES |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 200 |         LAFLORA |   44  862   41 | 1575 750 113 |  -608 112  17 |
## 201 |         LAFLORE |    2  108   10 |  929  50   2 | -1009  58   2 |
## 202 |            LAFO |    0   81    3 |  842  31   0 | -1063  50   1 |
## 203 |            LAGR |    0   81    1 |  842  31   0 | -1063  50   0 |
## 204 |            LAHA |   20  960    4 | -809 856  14 |  -282 104   2 |
## 205 |            LAIN |    1   77    6 |  567  21   0 |  -932  56   1 |
## 206 |            LALI |    0  960    0 | -809 856   0 |  -282 104   0 |
## 207 |            LALU |    0  960    0 | -809 856   0 |  -282 104   0 |
## 208 |            LAME |    3  805    3 | 1473 704   7 |  -559 101   1 |
## 209 |            LAMO |    0    0    2 |  172   0   0 |    43   0   0 |
## 210 |            LANU |    1   81    6 |  842  31   1 | -1063  50   1 |
## 211 |            LAPL |    0  960    0 | -809 856   0 |  -282 104   0 |
## 212 |            LAPO |    0  960    0 | -809 856   0 |  -282 104   0 |
## 213 |            LAPR |    0   81    1 |  842  31   0 | -1063  50   0 |
## 214 |           LAREF |    0  960    0 | -809 856   0 |  -282 104   0 |
## 215 |        LARIVERA |    1  863    1 | 1582 751   3 |  -609 111   1 |
## 216 |       LARIVERAI |    0  362    0 | 1212 246   0 |  -836 117   0 |
## 217 |      LARIVERAII |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 218 |        LARIVERI |    0  960    0 | -809 856   0 |  -282 104   0 |
## 219 |          LARIVI |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 220 |            LASE |    1  960    0 | -809 856   1 |  -282 104   0 |
## 221 |            LAVI |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 222 |         LAFLORA |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 223 |           LARES |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 224 |           LASAC |    1  912    0 | -609 726   1 |  -309 186   0 |
## 225 |           LASAM |    0  665    0 | 1335 503   1 |  -760 163   0 |
## 226 |           LASCA |    0  960    0 | -809 856   0 |  -282 104   0 |
## 227 |           LASCE |    3  125   12 |  971  62   3 |  -984  63   3 |
## 228 |            LASD |    1  863    1 | 1582 751   2 |  -609 111   0 |
## 229 |            LASG |    1  897    0 | -570 688   0 |  -314 210   0 |
## 230 |            LASQ |    0  960    0 | -809 856   0 |  -282 104   0 |
## 231 |        LASVEGAS |    0  960    0 | -809 856   0 |  -282 104   0 |
## 232 |       LASVEGASD |    0  960    0 | -809 856   0 |  -282 104   0 |
## 233 |            LIBE |    0  975    0 | -412 308   0 |   607 667   0 |
## 234 |          LOSALA |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 235 |         LOSALCA |    2  863    2 | 1582 751   5 |  -609 111   1 |
## 236 |         LOSALCÁ |    1  863    1 | 1582 751   2 |  -609 111   0 |
## 237 |           LOSAN |    3  863    2 | 1582 751   7 |  -609 111   1 |
## 238 |           LOSCA |    3  960    1 | -809 856   2 |  -282 104   0 |
## 239 |           LOSCÁ |    1  816    0 | -410 488   0 |  -336 328   0 |
## 240 |    LOSCRISTALES |   19  985   31 |  380  24   3 |  2383 960 114 |
## 241 |   LOSCRISTALESC |    0  985    0 |  380  24   0 |  2383 960   1 |
## 242 |            LOSF |    0  960    0 | -809 856   0 |  -282 104   0 |
## 243 |         LOSGUAD |    3  923    3 | 1553 794   8 |  -626 129   1 |
## 244 |         LOSGUAY |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 245 |            LOSJ |    0  960    0 | -809 856   0 |  -282 104   0 |
## 246 |            LOSL |    0  256    1 |   31   0   0 |  1132 256   1 |
## 247 |            LOSP |    1  863    1 | 1582 751   2 |  -609 111   0 |
## 248 |            LOSR |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 249 |            LOUR |    0  960    0 | -809 856   0 |  -282 104   0 |
## 250 |            MAME |    0  985    0 |  380  24   0 |  2383 960   1 |
## 251 |            MANZ |    1  863    1 | 1582 751   2 |  -609 111   0 |
## 252 |            MARI |    0   81    1 |  842  31   0 | -1063  50   0 |
## 253 |            MARR |    0   81    1 |  842  31   0 | -1063  50   0 |
## 254 |            MAYA |    6  982    1 | -773 854   3 |  -299 128   1 |
## 255 |            MELN |    3  961    0 | -680 887   1 |  -196  74   0 |
## 256 |            MELE |    6  960    1 | -809 856   4 |  -282 104   1 |
## 257 |            MENG |    3  863    3 | 1582 751   7 |  -609 111   1 |
## 258 |            METR |    3  863    2 | 1582 751   7 |  -609 111   1 |
## 259 |           MIRAD |    0  985    0 |  380  24   0 |  2383 960   1 |
## 260 |           MIRAF |    3  983    4 |  326  21   0 |  2191 961  16 |
## 261 |            MORI |    0   81    2 |  842  31   0 | -1063  50   0 |
## 262 |            MULT |    3  960    1 | -809 856   2 |  -282 104   0 |
## 263 |            MUNI |    0   81    2 |  842  31   0 | -1063  50   0 |
## 264 |            NAPO |    0  960    0 | -809 856   0 |  -282 104   0 |
## 265 |            NÁPO |    4  960    1 | -809 856   2 |  -282 104   0 |
## 266 |        NORMANDI |    1  985    1 |  380  24   0 |  2383 960   4 |
## 267 |       NORMANDÍA |   19  985   31 |  372  24   3 |  2366 961 112 |
## 268 |      NORMANDÍAW |    0  985    0 |  380  24   0 |  2383 960   1 |
## 269 |           NORTE |    1  990    1 |  514  58   0 |  2051 931   5 |
## 270 |          NORTEL |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 271 |          NUEVAB |    0   81    1 |  842  31   0 | -1063  50   0 |
## 272 |          NUEVAF |    2   76    7 |  512  18   0 |  -906  58   2 |
## 273 |          NUEVAT |    9  969    2 | -762 853   5 |  -282 117   1 |
## 274 |        OASISDEC |    1  863    1 | 1582 751   2 |  -609 111   0 |
## 275 |        OASISDEP |    0  960    0 | -809 856   0 |  -282 104   0 |
## 276 |            OCCI |    1  866    1 | 1473 823   3 |  -337  43   0 |
## 277 |          PACARA |    2  863    2 | 1582 751   6 |  -609 111   1 |
## 278 |          PACARÁ |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 279 |            PALM |    0  960    0 | -809 856   0 |  -282 104   0 |
## 280 |            PAMP |    3  960    1 | -809 856   2 |  -282 104   0 |
## 281 |            PAMP |    1  960    0 | -809 856   1 |  -282 104   0 |
## 282 |            PANA |    1  960    0 | -809 856   1 |  -282 104   0 |
## 283 |            PANC |   50  964   11 | -805 857  33 |  -284 107   4 |
## 284 |            PARC |    7  960    2 | -809 856   5 |  -282 104   1 |
## 285 |            PARQ |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 286 |            PASE |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 287 |           PASOD |    1  863    1 | 1582 751   2 |  -609 111   0 |
## 288 |           PASOA |    1  960    0 | -809 856   0 |  -282 104   0 |
## 289 |            POBL |    0  664    0 |  387 286   0 |  -445 379   0 |
## 290 |            PONC |    0  960    0 | -809 856   0 |  -282 104   0 |
## 291 |            POPU |    1  863    1 | 1582 751   2 |  -609 111   0 |
## 292 |          PORTAD |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 293 |          PORTAL |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 294 |            PORV |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 295 |       PRADOSDEO |    1   81    5 |  842  31   1 | -1063  50   1 |
## 296 |      PRADOSDELL |    3  960    1 | -809 856   2 |  -282 104   0 |
## 297 |      PRADOSDELN |   15  867   14 | 1561 762  39 |  -580 105   6 |
## 298 |      PRADOSDELS |    0  960    0 | -809 856   0 |  -282 104   0 |
## 299 |           PRIMA |    0  122    0 |  611  56   0 |   660  66   0 |
## 300 |           PRIME |    4  960    1 | -809 856   3 |  -282 104   0 |
## 301 |           PRIMI |    0   81    2 |  842  31   0 | -1063  50   0 |
## 302 |         PUENTED |    1  863    1 | 1582 751   2 |  -609 111   0 |
## 303 |         PUENTEP |    0  960    0 | -809 856   0 |  -282 104   0 |
## 304 |      QUINTASDED |    9  960    2 | -809 856   6 |  -282 104   1 |
## 305 |      QUINTASDES |    0  156    2 | 1027  84   1 |  -949  72   0 |
## 306 |            RAFA |    0   81    1 |  842  31   0 | -1063  50   0 |
## 307 |            REFU |    0  984    0 | -214  39   0 |  1051 944   0 |
## 308 |            REPB |    0   81    1 |  842  31   0 | -1063  50   0 |
## 309 |           RINCO |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 310 |           RINCÓ |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 311 |            RIVE |    0  960    0 | -809 856   0 |  -282 104   0 |
## 312 |            ROZO |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 313 |            SAAV |    0   81    3 |  842  31   0 | -1063  50   1 |
## 314 |            SALO |    5  863    4 | 1582 751  12 |  -609 111   2 |
## 315 |         SAMANES |    0  960    0 | -809 856   0 |  -282 104   0 |
## 316 |        SAMANESD |    0  960    0 | -809 856   0 |  -282 104   0 |
## 317 |            SAME |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 318 |            SANA |    3  724    5 |  345  21   0 |  1993 703  12 |
## 319 |            SANB |    1    0   10 |  -73   0   0 |   -39   0   0 |
## 320 |          SANCAR |    0   65    2 |  675  28   0 |  -786  38   0 |
## 321 |          SANCAY |    1  877    2 |  357  24   0 |  2123 853   5 |
## 322 |     SANFERNANDO |    7  937    1 | -657 892   3 |  -148  45   0 |
## 323 |    SANFERNANDON |    1  960    0 | -809 856   1 |  -282 104   0 |
## 324 |    SANFERNANDOV |    2  958    0 | -743 928   1 |  -134  30   0 |
## 325 |       SANJOAQUI |    0  960    0 | -809 856   0 |  -282 104   0 |
## 326 |       SANJOAQUÍ |    2  960    0 | -809 856   1 |  -282 104   0 |
## 327 |          SANJUA |    1    0   16 |  172   0   0 |    43   0   0 |
## 328 |        SANJUDAS |    0  960    0 | -809 856   0 |  -282 104   0 |
## 329 |       SANJUDAST |    0  960    0 | -809 856   0 |  -282 104   0 |
## 330 |          SANLUI |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 331 |          SANLUÍ |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 332 |       SANNICOLA |    0    0    2 |  172   0   0 |    43   0   0 |
## 333 |       SANNICOLÁ |    0    0    2 |  172   0   0 |    43   0   0 |
## 334 |            SANP |    0   15    3 |  642  14   0 |  -175   1   0 |
## 335 |            SANV |    6  863    5 | 1556 769  14 |  -545  94   2 |
## 336 |           SANTA |    0  985    0 |  380  24   0 |  2383 960   1 |
## 337 |      SANTAANITA |    6  970    1 | -765 894   4 |  -222  75   0 |
## 338 |     SANTAANITAS |    0  960    0 | -809 856   0 |  -282 104   0 |
## 339 |          SANTAB |    0  324    0 |  935 304   0 |   237  20   0 |
## 340 |          SANTAE |    1  960    0 | -809 856   1 |  -282 104   0 |
## 341 |          SANTAF |    1   81    6 |  842  31   1 | -1063  50   1 |
## 342 |          SANTAH |    0    0    2 |  172   0   0 |    43   0   0 |
## 343 |          SANTAI |    8  985    6 |   78   2   0 |  1706 983  24 |
## 344 |     SANTAMONICA |    6  863    6 | 1582 751  16 |  -609 111   3 |
## 345 |     SANTAMÓNICA |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 346 |    SANTAMÓNICAA |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 347 |    SANTAMONICAN |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 348 |    SANTAMONICAP |    0  122    0 |  611  56   0 |   660  66   0 |
## 349 |    SANTAMÓNICAP |    1   78    4 |  606  22   0 |  -951  55   1 |
## 350 |    SANTAMONICAR |    1  863    1 | 1582 751   2 |  -609 111   0 |
## 351 |    SANTAMÓNICAR |    5  869    3 | 1428 848  10 |  -225  21   0 |
## 352 |         SANTARI |    5  985    9 |  380  24   1 |  2383 960  33 |
## 353 |         SANTARO |    0    0    2 |  172   0   0 |    43   0   0 |
## 354 |          SANTAT |   32  985   50 |  362  24   4 |  2300 961 181 |
## 355 |          SANTAF |    0   81    1 |  842  31   0 | -1063  50   0 |
## 356 |          SANTAN |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 357 |           SANTO |    1  960    0 | -809 856   0 |  -282 104   0 |
## 358 |         SECTORA |    0  960    0 | -809 856   0 |  -282 104   0 |
## 359 |         SECTORC |    0  960    0 | -809 856   0 |  -282 104   0 |
## 360 |            SEMI |    4  959    1 | -771 899   2 |  -198  60   0 |
## 361 |            SIER |    0  985    0 |  380  24   0 |  2383 960   1 |
## 362 |            SIET |    1   81    6 |  842  31   1 | -1063  50   1 |
## 363 |            SIMÓ |    0   81    1 |  842  31   0 | -1063  50   0 |
## 364 |        TEJARESC |    0  985    1 |  380  24   0 |  2383 960   3 |
## 365 |        TEJARESD |    2  988    1 |  211  17   0 |  1598 971   5 |
## 366 |            TEMP |    0  960    0 | -809 856   0 |  -282 104   0 |
## 367 |        TEQUENDA |    5  950    1 | -753 828   3 |  -289 122   0 |
## 368 |        TEQUENDE |    0  960    0 | -809 856   0 |  -282 104   0 |
## 369 |            TERR |    0  985    0 |  380  24   0 |  2383 960   1 |
## 370 |            TORR |    7  864    6 | 1532 754  17 |  -586 110   3 |
## 371 |            UNIC |    0  960    0 | -809 856   0 |  -282 104   0 |
## 372 |            UNIÓ |    0  202    1 | 1089 119   0 |  -911  83   0 |
## 373 |  URBANIZACIÓNBA |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 374 |  URBANIZACIÓNBO |    0   81    1 |  842  31   0 | -1063  50   0 |
## 375 |   URBANIZACIÓNC |    0  960    0 | -809 856   0 |  -282 104   0 |
## 376 |   URBANIZACIONE |    0  960    0 | -809 856   0 |  -282 104   0 |
## 377 |   URBANIZACIONG |    0  960    0 | -809 856   0 |  -282 104   0 |
## 378 | URBANIZACIÓNLAF |   10  863    9 | 1582 751  26 |  -609 111   4 |
## 379 | URBANIZACIÓNLAM |    0  863    0 | 1582 751   1 |  -609 111   0 |
## 380 | URBANIZACIÓNLAN |    0  362    1 | 1212 246   1 |  -836 117   0 |
## 381 | URBANIZACIÓNLAS |    0  960    0 | -809 856   0 |  -282 104   0 |
## 382 |   URBANIZACIONL |    0  960    0 | -809 856   0 |  -282 104   0 |
## 383 |   URBANIZACIÓNN |    0  960    0 | -809 856   0 |  -282 104   0 |
## 384 |   URBANIZACIÓNP |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 385 |   URBANIZACIÓNR |    1  960    0 | -809 856   0 |  -282 104   0 |
## 386 |   URBANIZACIÓNS |    0  960    0 | -809 856   0 |  -282 104   0 |
## 387 |   URBANIZACIÓNT |    1  960    0 | -809 856   1 |  -282 104   0 |
## 388 |       VALLEDELI |    0  960    0 | -809 856   0 |  -282 104   0 |
## 389 |       VALLEDELL |  120  959   26 | -799 852  80 |  -283 107  10 |
## 390 |          VALLEG |    0   81    1 |  842  31   0 | -1063  50   0 |
## 391 |            VERS |    9  861    8 | 1548 747  21 |  -604 114   3 |
## 392 |          VILLAC |    1  123    3 |  966  60   1 |  -987  63   1 |
## 393 |        VILLADEV |    1  863    1 | 1582 751   2 |  -609 111   0 |
## 394 |       VILLADELL |    1   81    8 |  842  31   1 | -1063  50   1 |
## 395 |      VILLADELPA |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 396 |      VILLADELPR |    6  863    6 | 1582 751  16 |  -609 111   3 |
## 397 |      VILLADELSO |    3  863    3 | 1582 751   8 |  -609 111   1 |
## 398 |      VILLADELSU |    1   77    1 |  182   4   0 |  -750  72   0 |
## 399 |          VILLAS |    1  863    1 | 1582 751   3 |  -609 111   0 |
## 400 |            VIPA |    4  853    3 | 1432 729   8 |  -588 123   1 |
## 401 |           ZONAC |    0    0    2 |  172   0   0 |    43   0   0 |
## 402 |       ZONANORTE |    4  864    3 | 1507 801   9 |  -422  63   1 |
## 403 |      ZONANORTEL |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 404 |          ZONAOE |    3  985    5 |  380  24   0 |  2383 960  19 |
## 405 |          ZONAOR |    2   93   12 |  883  39   2 | -1037  54   3 |
## 406 |           ZONAR |    0  863    0 | 1582 751   0 |  -609 111   0 |
## 407 |           ZONAS |    9  960    2 | -809 856   6 |  -282 104   1 |
## 
## Columns:
##       name   mass  qlt  inr    k=1 cor ctr     k=2 cor ctr  
## 1 |  ZONAC |   15    1  207 |  169   1   0 |    41   0   0 |
## 2 |  ZONAN |  231  871  207 | 1551 762 578 |  -587 109  86 |
## 3 | ZONAOE |  145  986  225 |  373  25  21 |  2298 961 822 |
## 4 | ZONAOR |   42   85  244 |  826  34  30 | -1024  52  48 |
## 5 |  ZONAS |  567  965  117 | -793 863 371 |  -272 101  45 |
plot(resultado_ac_zona_barrio, main = "Análisis de Correspondencia: Zona vs Barrio")

3. Análisis de Correspondencia:

Análisis de Correspondencia: El análisis de correspondencia identificó la relación entre variables categóricas como el tipo de vivienda, zona y barrio. Los resultados mostraron patrones significativos, donde ciertas zonas y barrios están estrechamente asociados con tipos específicos de propiedades. Este conocimiento es esencial para entender las preferencias de los compradores y ajustar la oferta de acuerdo con la demanda local.

Conclusiones.

Barrios: La alta concentración de propiedades en VALLE DEL LILI sugiere que este barrio es una zona clave en el mercado inmobiliario, posiblemente debido a factores como infraestructura, accesibilidad, o crecimiento urbano. CIUDAD JARDÍN y PANCE también son áreas con una oferta significativa, lo que podría estar relacionado con su atractivo para ciertos segmentos del mercado, como familias o profesionales.

Zonas: Esta distribución sugiere que la ZONA SUR es el área con mayor concentración de propiedades, lo que podría ser relevante para decisiones estratégicas de marketing e inversión, enfocando esfuerzos en esta zona debido a su alta oferta. Por otro lado, la ZONA CENTRO muestra una escasa presencia, lo que podría indicar oportunidades de expansión en áreas menos saturadas, dependiendo del contexto urbano y de la demanda en esa zona específica.

Conclusiones y Recomendaciones

  1. Optimización de Inversiones: Las zonas Oriente, Norte y Sur presentan las mayores concentraciones de propiedades. Se recomienda enfocar las inversiones en estas áreas, mientras se exploran oportunidades emergentes en zonas con menos oferta.

  2. Segmentación de Mercado: Los cuatro clústeres identificados permiten una segmentación más precisa del mercado, facilitando estrategias de marketing personalizadas para cada segmento.

  3. Diversificación de la Cartera: La predominancia de casas en el mercado sugiere la necesidad de diversificación, incorporando más apartamentos y propiedades en áreas de alto crecimiento.

  4. Estrategia de Precio: Los insights obtenidos del análisis de PCA y clustering deben guiar la fijación de precios, alineándolos con las características de la propiedad y su ubicación.

  5. Monitoreo Continuo: Es fundamental mantener un monitoreo constante del mercado, ajustando las estrategias según las fluctuaciones en la oferta y demanda.