1. Introducción.

El presente informe, construido a partir de la muestra consolidada por la empresa B&C (contenida en el paquete “paqueteMETODOS” de R) respecto a ubicaciones, precios y características de viviendas en la ciudad de Cali, provee un análisis descriptivo del mercado inmobiliario de la misma, de tal forma que los resultados y discusiones obtenidos puedan servir como un insumo inicial de cara a la toma de decisiones óptimas de la firma en materia de fijación de precios, segmentación espacial de la oferta, estrategias de marketing y personalización de servicios.

Así, este documento hace uso de técnicas descriptivas fundamentales de agrupamiento y visualización de datos, y revisión de indicadores de centralidad y dispersión de variables críticas para la consecución de sus propósitos.

La siguiente sección presenta el objetivo general y objetivos específicos de este trabajo, la tercera sección realiza una descripción de los métodos empleados para su consecución, presentando los resultados para cada zona de la ciudad en la sección 4. Se realiza una discusión de los resultados en la sección 5, finalizando con la consignación de las conclusiones del informe en la sección 6.

2. Objetivos

2.1 Objetivo general.

Realizar una descripción fiable del comportamiento del mercado inmobiliario de la ciudad de Cali en función de las variables del data set provisto, la cual pueda ser un insumo inicial de cara a la toma de decisiones por parte de la empresa B&C.

2.2 Objetivos específicos.

  • Realizar un proceso de limpieza y preparación de datos con la mejor retención posible de información fiable del data frame.

  • Proveer una caracterización por zonas de los tipos de vivienda de la ciudad y sus atributos puntuales.

  • Proveer una descripción del comportamiento de los precios de las viviendas por cada zona del mercado inmobiliario de la ciudad.

  • Generar recomendaciones en función de los resultados obtenidos.

3. Métodos.

A continuación, se presenta una descripción de los métodos empleados para la preparación, despliegue y visualización de la estructura de datos que sedimenta este informe, así como los indicadores descriptivos obtenidos a partir de la misma.

3.1 Recolección y preparación de datos.

La muestra obtenida por la empresa B&C consistió en el data frame “vivienda_faltantes” dentro del paquete de R “paqueteMETODOS”, inicialmente, esta muestra contenía 8330 observaciones de 13 variables, las cuales describían las principales características de viviendas en distintas ubicaciones de Cali: área de la propiedad (areaconst), cantidad de baños (banios), estrato de la vivienda (estrato), cantidad de habitaciones (habitac), id de la observación (id), latitud (latitud) y longitud (longitud) como coordenadas de geolocalización, zona de la ciudad (zona), barrio (barrio) tipo de vivienda (tipo) cantidad de parqueaderos (parquea), número de piso de la vivienda (piso), y precio de la vivienda en millones de pesos (preciom).

La siguiente tabla muestra un resumen del data frame con sus principales características e indicadores:

##           vars    n      mean       sd  median   trimmed     mad       min
## id           1 8327   4163.99  2403.93 4164.00   4164.00 3086.77      1.00
## zona*        2 8327      3.92     1.33    5.00      4.04    0.00      1.00
## piso         3 5689      3.77     2.62    3.00      3.37    1.48      1.00
## estrato      4 8327      4.63     1.03    5.00      4.67    1.48      3.00
## preciom      5 8328    434.24   329.02  330.00    374.72  209.05     58.00
## areaconst    6 8327    174.99   142.95  123.00    149.22   84.51     30.00
## parquea      7 6724      1.84     1.13    2.00      1.62    1.48      1.00
## banios       8 8327      3.11     1.43    3.00      2.99    1.48      0.00
## habitac      9 8327      3.61     1.46    3.00      3.41    1.48      0.00
## tipo*       10 8327      2.56     1.94    1.00      2.45    0.00      1.00
## barrio*     11 8327    241.48   128.81  251.00    245.34  171.98      1.00
## longitud    12 8327 -21845.13 34503.90  -76.54 -17732.94    0.03 -76576.00
## latitud     13 8327    970.37  1539.16    3.45    779.76    0.10      3.33
##               max    range  skew kurtosis     se
## id        8319.00  8318.00  0.00    -1.20  26.34
## zona*        5.00     4.00 -0.59    -1.37   0.01
## piso        12.00    11.00  1.28     1.05   0.03
## estrato      6.00     3.00 -0.18    -1.11   0.01
## preciom   1999.00  1941.00  1.85     3.66   3.61
## areaconst 1745.00  1715.00  2.69    12.90   1.57
## parquea     10.00     9.00  2.32     8.29   0.01
## banios      10.00    10.00  0.92     1.12   0.02
## habitac     10.00    10.00  1.64     3.99   0.02
## tipo*        6.00     5.00  0.46    -1.78   0.02
## barrio*    436.00   435.00 -0.09    -1.23   1.41
## longitud   -76.46 76499.54 -0.95    -1.09 378.11
## latitud   3497.00  3493.67  0.96    -1.07  16.87

Como puede observarse en la tabla, la variable piso presenta sólo 5689 observaciones válidas, la variable parquea presenta 6724 observaciones válidas, y todas las variables presentan 3 observaciones nulas. La presencia de estos datos faltantes se corrobora en la siguiente gráfica.

En este sentido, se procedió de la siguiente forma:

  • Se descartó la variable piso debido a la cantidad elevada de datos faltantes y su ambigüedad, pues no existía claridad sobre si la variable describe el número de piso de la vivienda o su cantidad total de pisos. Además, se consideró que la variable habitaciones (habitac) transmite información similar a ésta de forma más útil para propósitos descriptivos.
  • Se eliminaron las observaciones con datos faltantes en la variable parquea, al ser relativamente pocas.
  • Se eliminaron las observaciones donde todas las variables eran nulas.
  • Además, se unificó el formato de las observaciones en la variable tipo, limitándose a “Casa” o “Apartamento”, pues existían observaciones con diferencias en la aplicacion de mayúsculas.

A continuación, se presenta la tabla resumen del data frame resultante de 6724 observaciones para 12 variables, el cual se empleó para este informe.

##           vars    n      mean       sd  median   trimmed     mad       min
## id           1 6724   4417.13  2325.92 4478.50   4454.27 2934.07      1.00
## zona*        2 6724      4.03     1.28    5.00      4.18    0.00      1.00
## estrato      3 6724      4.83     0.95    5.00      4.91    1.48      3.00
## preciom      4 6724    469.32   335.44  355.00    409.63  200.15     58.00
## areaconst    5 6724    181.21   144.08  130.00    155.51   83.03     30.00
## parquea      6 6724      1.84     1.13    2.00      1.62    1.48      1.00
## banios       7 6724      3.26     1.38    3.00      3.12    1.48      0.00
## habitac      8 6724      3.61     1.36    3.00      3.44    0.00      0.00
## tipo*        9 6724      1.37     0.48    1.00      1.34    0.00      1.00
## barrio*     10 6724    205.83   105.08  215.00    208.20  149.74      1.00
## longitud    11 6724 -21691.54 34431.44  -76.54 -17539.57    0.03 -76576.00
## latitud     12 6724    967.86  1537.03    3.45    776.76    0.10      3.33
##               max    range  skew kurtosis     se
## id        8319.00  8318.00 -0.10    -1.14  28.36
## zona*        5.00     4.00 -0.73    -1.18   0.02
## estrato      6.00     3.00 -0.37    -0.81   0.01
## preciom   1999.00  1941.00  1.78     3.26   4.09
## areaconst 1745.00  1715.00  2.71    13.24   1.76
## parquea     10.00     9.00  2.32     8.29   0.01
## banios      10.00    10.00  0.90     0.93   0.02
## habitac     10.00    10.00  1.78     4.71   0.02
## tipo*        2.00     1.00  0.54    -1.71   0.01
## barrio*    367.00   366.00 -0.06    -1.28   1.28
## longitud   -76.46 76499.54 -0.96    -1.07 419.90
## latitud   3494.00  3490.67  0.97    -1.07  18.74

3.2 Análisis descriptivo

Para el ejercicio de análisis descriptivo, se procedió a emplear las siguientes técnicas para cada zona identificada del data frame:

  • Se agruparon los tipos de vivienda por cada estrato en un gráfico de barras de dos parámeotros.

  • Se agruparon histogramas para el comportamiento de los precios en millones de pesos por cada estrato.

  • Se emplearon tablas de frecuencia para identificar los patrones de mayor frecuencia en las características puntuales de las viviendas (área de la propiedad, habitaciones, baños y parqueaderos).

4. Resultados.

En esta sección se presentan los resultados obtenidos a partir de las herramientas seleccionadas para el análisis descriptivo del mercado inmobiliario de la ciudad de Cali en función del data frame preparado. Este análisis descriptivo parte de la revisión de las características más relevantes de las viviendas, resaltando su estratificación y sus precios en millones de pesos, en tanto estas variables reúnen la mejor información respecto al resto de atributos de las viviendas. Este análisis se realiza para cada zona de la ciudad.

Nótese que, de acuerdo a la muestra analizada, la descripción a consolidar parte del hecho de que la composición de viviendas en la ciudad de Cali consiste mayoritariamente en apartamentos, como lo muestra la siguiente gráfica.

4.1 Zona Centro

La Zona Centro se presenta como el segmento más pequeño de la muestra, con tan sólo 64 observaciones. De igual forma, esta zona, de acuerdo a la muestra, presenta un patrón contrario al de la ciudad en general, pues se compone en su gran mayoría de casas. Así lo muestra la siguiente gráfica de barras bajo los parámetros tipo y estrato.

Así, el data frame analizado muestra que la Zona Centro se compone en su mayoría (casi el 80%) de casas Estrato 3. Además, este segmento de la muestra no posee viviendas en Estrato 6.

La información anterior es congruente con las regularidades encontradas respecto a los precios de las viviendas para cada estrato, como lo muestran los siguientes histogramas agrupados por estrato.

La mayor parte de la frecuencia de los precios de viviendas para la zona se halla concentrada sobre intervalos de entre 200 y 400 millones de pesos, característica que acapara los estratos 3 y 4. Cabe resaltar la presencia de precios de entre 150 y 200 millones de pesos, así como de entre 300 y 350 millones de pesos, ambos intervalos en Estrato 5. Para mayor precisión respecto a precios y su variabilidad, el anexo A1 presenta sus indicadores con respecto a los barrios de la zona.

En cuanto a características puntuales de las viviendas, el uso de tablas de frecuencia resulta útil para captar sus regularidades. La siguiente tabla de frecuencia realiza esta descripción para el área en metros cuadrados de las viviendas en la Zona Centro (areaconst).

##   Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1               (71.5,145]             20                 31.2500
## 2                (145,218]             20                 31.2500
## 3                (218,291]             12                 18.7500
## 4                (291,364]              9                 14.0625
## 5                (364,437]              2                  3.1250
## 6                (437,510]              0                  0.0000
## 7                (510,584]              1                  1.5625

Se aprecia que el el valor de área con mayor regularidad es compartido por los intervalos de entre 71.5 a 145 metros cuadrados y 145 a 218 metros cuadrados, ambos con un 31.25% del segmento de la muestra.

En cuanto a la cantidad de habitaciones (habitac), se halla mayor frecuencia en viviendas con 3 habitaciones (25%) y 5 a 6 habitaciones (28.13%), lo anterior refuerza la composición mayoritaria de casas en la zona, como se mostró anteriormente. Así lo muestra la siguiente gráfica.

##   Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1             (0.991,2.29]              6                  9.3750
## 2              (2.29,3.57]             16                 25.0000
## 3              (3.57,4.86]             10                 15.6250
## 4              (4.86,6.14]             18                 28.1250
## 5              (6.14,7.43]              6                  9.3750
## 6              (7.43,8.71]              1                  1.5625
## 7                (8.71,10]              7                 10.9375

De igual forma, se tiene que las viviendas poseen con más frecuencia entre 1 y 2 baños (42%), y un solo parqueadero (78.13%). Así lo muestran las siguientes tablas de frecuencia para las variables baños (banios) y parqueaderos (parquea), respectivamente.

##   Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1             (0.992,2.14]             27                 42.1875
## 2              (2.14,3.29]             16                 25.0000
## 3              (3.29,4.43]             14                 21.8750
## 4              (4.43,5.57]              4                  6.2500
## 5              (5.57,6.71]              2                  3.1250
## 6              (6.71,7.86]              0                  0.0000
## 7              (7.86,9.01]              1                  1.5625
##   Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1             (0.995,1.71]             50                  78.125
## 2              (1.71,2.43]             10                  15.625
## 3              (2.43,3.14]              0                   0.000
## 4              (3.14,3.86]              0                   0.000
## 5              (3.86,4.57]              2                   3.125
## 6              (4.57,5.29]              0                   0.000
## 7                 (5.29,6]              2                   3.125

4.2 Zona Norte

La zona norte posee una cantidad mucho mayor de observaciones en comparación con la zona centro. Para esta zona se cumple con mayor rigurosidad el patrón de mayor proporción de apartamentos sobre casas, existiendo esta situación en todos los estratos considerados por el data frame. Además, se tiene que la mayor parte de la muestra se halla concentrada en el estrato 5, con cerca del 35% de las observaciones en este segmento. Así lo muestra la siguiente gráfica.

El comportamiento de los precios de las viviendas para la zona norte se muestra bastante disperso. Para el estrato 3, se halla una alta frecuencia entre los 100 y 150 millones de pesos, existiendo alta variabilidad por encima de este intervalo. Para el estrato 4, inusualmente, se halla la mayor frecuencia en este mismo intervalo, sin embargo, existen casos de precios incluso por encima de los 700 millones de pesos. En cuanto al estrato 5, el cual compone la mayor proporción de la zona, la mayor frecuencia se halla en el intervalo entre 250 y 400 millones de pesos. Para el estrato 6 existe alta variabilidad por encima de los 200 millones de pesos. Así lo describe la siguiente gráfica.

Para mayor precisión respecto a precios y su variabilidad, el anexo A1 presenta sus indicadores con respecto a los barrios de la zona.

Prosiguiendo con las características puntuales de las viviendas, como lo muestra la siguiente gráfica, se halla una predominancia marcada en el área de las propiedades de máximo 148 metros cuadrados, con un 62.99% de las observaciones.

##    Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1                (28.6,148]            812             62.99456943
## 2                 (148,265]            242             18.77424360
## 3                 (265,382]            146             11.32660978
## 4                 (382,500]             55              4.26687355
## 5                 (500,618]             13              1.00853375
## 6                 (618,735]              7              0.54305663
## 7                 (735,852]              9              0.69821567
## 8                 (852,970]              3              0.23273856
## 9            (970,1.09e+03]              0              0.00000000
## 10       (1.09e+03,1.2e+03]              1              0.07757952
## 11       (1.2e+03,1.32e+03]              0              0.00000000
## 12      (1.32e+03,1.44e+03]              1              0.07757952

El tamaño pequeño en la mayoría de las viviendas de la zona es congruente con su tipo predominante (apartamentos), así como 3 habitaciones como su cantidad más frecuente de habitaciones (51.75% de las observaciones). Esto puede observarse en la siguiente tabla de frecuencia.

##    Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1             (-0.01,0.833]              8               0.6206362
## 2              (0.833,1.67]             11               0.8533747
## 3                (1.67,2.5]            145              11.2490303
## 4                (2.5,3.33]            667              51.7455392
## 5               (3.33,4.17]            242              18.7742436
## 6                  (4.17,5]            108               8.3785881
## 7                  (5,5.83]              0               0.0000000
## 8               (5.83,6.67]             41               3.1807603
## 9                (6.67,7.5]             30               2.3273856
## 10               (7.5,8.33]             16               1.2412723
## 11              (8.33,9.17]             11               0.8533747
## 12                (9.17,10]             10               0.7757952

Además, se observa que las viviendas poseen con mayor frecuencia dos baños (42.2% de las observaciones) y uno a dos parqueaderos (cerca del 89% de las observaciones). Esto es evidenciado en las siguientes tablas de frecuencia para los baños (banios) y parqueaderos (parquea).

##    Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1             (-0.01,0.833]              3              0.23273856
## 2              (0.833,1.67]             58              4.49961210
## 3                (1.67,2.5]            544             42.20325834
## 4                (2.5,3.33]            339             26.29945694
## 5               (3.33,4.17]            204             15.82622188
## 6                  (4.17,5]             93              7.21489527
## 7                  (5,5.83]              0              0.00000000
## 8               (5.83,6.67]             34              2.63770365
## 9                (6.67,7.5]              6              0.46547711
## 10               (7.5,8.33]              6              0.46547711
## 11              (8.33,9.17]              1              0.07757952
## 12                (9.17,10]              1              0.07757952
##    Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1              (0.991,1.75]            728             56.47788984
## 2                (1.75,2.5]            419             32.50581846
## 3                (2.5,3.25]             69              5.35298681
## 4                  (3.25,4]             46              3.56865787
## 5                  (4,4.75]              0              0.00000000
## 6                (4.75,5.5]             11              0.85337471
## 7                (5.5,6.25]              8              0.62063615
## 8                  (6.25,7]              5              0.38789760
## 9                  (7,7.75]              0              0.00000000
## 10               (7.75,8.5]              1              0.07757952
## 11               (8.5,9.25]              1              0.07757952
## 12                (9.25,10]              1              0.07757952

4.3 Zona Sur

La zona sur contiene la mayor cantidad de observaciones en la muestra, las 4105 viviendas evaluadas, considerando que el data frame es producto de web scraping de ofertas de viviendas, denotan un alto volumen de movimiento del mercado inmobiliario en este sector de la ciudad. Su composición denota predominancia de apartamentos sobre casas, aunque éstas últimas poseen una proporción superior que en otras zonas analizadas, es decir, poco más del 30% entre todos los estratos evaluados. Lo anterior puede evidenciarse en la siguiente gráfica de barras.

El comportamiento de los precios, al igual que en otras zonas, denota alta variabilidad, específicamente en el estrato 6, donde se evidencian precios muy por encima del centro de masa. Destacan los casos de viviendas con precios por debajo de los 500 millones de pesos como intervalos de mayor frecuencia en los estratos 4 y 5 , los cuales contienen la mayoría de los datos (los precios relativamente bajos pueden ser un efecto de la alta oferta inmobiliaria en la zona). Obsérvense los patrones descritos en el siguiente gráfico de histogramas agrupados.

Para mayor precisión respecto a precios y su variabilidad, el anexo A1 presenta sus indicadores con respecto a los barrios de la zona.

La predominante oferta de apartamentos es congruente con la alta frecuencia en el área de las propiedades sobre el intervalo de máximo 151 metros cuadrados (60.49%), como puede apreciarse en la siguiente tabla de frecuencias.

##    Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1                (38.4,151]           2483             60.48721072
## 2                 (151,263]            790             19.24482339
## 3                 (263,374]            418             10.18270402
## 4                 (374,486]            240              5.84652862
## 5                 (486,597]             80              1.94884287
## 6                 (597,709]             45              1.09622412
## 7                 (709,820]             17              0.41412911
## 8                 (820,931]             12              0.29232643
## 9            (931,1.04e+03]             10              0.24360536
## 10      (1.04e+03,1.15e+03]              4              0.09744214
## 11      (1.15e+03,1.27e+03]              2              0.04872107
## 12      (1.27e+03,1.38e+03]              0              0.00000000
## 13      (1.38e+03,1.49e+03]              0              0.00000000
## 14       (1.49e+03,1.6e+03]              4              0.09744214

Con más del 50% de las observaciones, la cantidad de 4 habitaciones se presenta como la más frecuente para la zona sur, como se evidencia en su correspondiente tabla de frecuencia.

##    Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1             (-0.01,0.714]             12               0.2923264
## 2              (0.714,1.43]             16               0.3897686
## 3               (1.43,2.14]            339               8.2582217
## 4               (2.14,2.86]              0               0.0000000
## 5               (2.86,3.57]           2071              50.4506699
## 6               (3.57,4.29]            971              23.6540804
## 7                  (4.29,5]            384               9.3544458
## 8                  (5,5.71]              0               0.0000000
## 9               (5.71,6.43]            157               3.8246041
## 10              (6.43,7.14]             71               1.7295981
## 11              (7.14,7.86]              0               0.0000000
## 12              (7.86,8.57]             42               1.0231425
## 13              (8.57,9.29]             24               0.5846529
## 14                (9.29,10]             18               0.4384896

Por su parte, entre 2 y 3 baños (poco más del 60% de las observaciones), y máximo 2 parqueaderos (poco más del 83% de las observaciones) son las cifras de mayor frecuencia respecto a estas características de las viviendas de la zona sur. Esto puede apreciarse en las sigueintes tablas de frecuencia para banios y parquea, respectivamente.

##    Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1             (-0.01,0.714]              8              0.19488429
## 2              (0.714,1.43]            100              2.43605359
## 3               (1.43,2.14]           1408             34.29963459
## 4               (2.14,2.86]              0              0.00000000
## 5               (2.86,3.57]           1061             25.84652862
## 6               (3.57,4.29]            712             17.34470158
## 7                  (4.29,5]            514             12.52131547
## 8                  (5,5.71]              0              0.00000000
## 9               (5.71,6.43]            194              4.72594397
## 10              (6.43,7.14]             67              1.63215591
## 11              (7.14,7.86]              0              0.00000000
## 12              (7.86,8.57]             28              0.68209501
## 13              (8.57,9.29]              9              0.21924482
## 14                (9.29,10]              4              0.09744214
##    Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1              (0.991,1.64]           2061             50.20706456
## 2               (1.64,2.29]           1366             33.27649208
## 3               (2.29,2.93]              0              0.00000000
## 4               (2.93,3.57]            277              6.74786845
## 5               (3.57,4.21]            265              6.45554202
## 6               (4.21,4.86]              0              0.00000000
## 7                (4.86,5.5]             48              1.16930572
## 8                (5.5,6.14]             51              1.24238733
## 9               (6.14,6.79]              0              0.00000000
## 10              (6.79,7.43]             11              0.26796590
## 11              (7.43,8.07]             16              0.38976857
## 12              (8.07,8.71]              0              0.00000000
## 13              (8.71,9.36]              3              0.07308161
## 14                (9.36,10]              7              0.17052375

4.4 Zona Oriente.

La zona oriente presenta una muy baja cantidad de observaciones (163) a partir del data frame utilizado. Además, denota una muy alta proporción de casas por encima de apartamentos (cerca del 90%). Nótese en la siguiente gráfica la muy alta predominancia del estrato 3 en la muestra, la cual implica la casi nula significancia de los demás estratos en el análisis realizado.

La muy baja frecuencia de los estratos distintos del 3 lleva al pleno enfoque en el histograma de precios sólo para éste. Se percibe la mayor frecuencia en precios de viviendas entre 100 y 400 millones de pesos, aunque, de forma muy inusual, se presentan también viviendas con precios por encima de los 600 millones de pesos. Esto puede apreciarse en la siguiente gráfica.

Para mayor precisión respecto a precios y su variabilidad, el anexo A1 presenta sus indicadores con respecto a los barrios de la zona.

La predominancia de las casas en esta zona es congruente con la alta frecuencia en áreas de propiedades de hasta 427 metros cuadrados (cerca del 94% de las observaciones), como se evidencia en la siguiente tabla de frecuencia.

##   Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1               (48.3,238]            113              69.3251534
## 2                (238,427]             39              23.9263804
## 3                (427,615]             10               6.1349693
## 4                (615,803]              0               0.0000000
## 5                (803,992]              0               0.0000000
## 6           (992,1.18e+03]              0               0.0000000
## 7      (1.18e+03,1.37e+03]              0               0.0000000
## 8      (1.37e+03,1.56e+03]              0               0.0000000
## 9      (1.56e+03,1.75e+03]              1               0.6134969

Lo anterior se alinea con la presencia de frecuencias relativamente altas para cantidades de habitaciones por encima de 6, como se aprecia en la correspondiente tabla de frecuencia.

##   Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1             (-0.01,1.11]              2                1.226994
## 2              (1.11,2.22]             10                6.134969
## 3              (2.22,3.33]             35               21.472393
## 4              (3.33,4.44]             28               17.177914
## 5              (4.44,5.56]             14                8.588957
## 6              (5.56,6.67]             23               14.110429
## 7              (6.67,7.78]             14                8.588957
## 8              (7.78,8.89]             16                9.815951
## 9                (8.89,10]             21               12.883436

Las siguientes tablas de frecuencia, para cantidad de baños (banios) y cantidad de parqueaderos (parquea), indican la mayor frecuencia para la zona en entre 2 y 3 baños (poco más del 56% de las observaciones) y un solo parqueadero (74.84% de las observaciones).

##   Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1               (-0.009,1]             21              12.8834356
## 2                    (1,2]             49              30.0613497
## 3                    (2,3]             43              26.3803681
## 4                    (3,4]             25              15.3374233
## 5                    (4,5]             12               7.3619632
## 6                    (5,6]              9               5.5214724
## 7                    (6,7]              2               1.2269939
## 8                    (7,8]              1               0.6134969
## 9                 (8,9.01]              1               0.6134969
##   Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1             (0.995,1.56]            122              74.8466258
## 2              (1.56,2.11]             28              17.1779141
## 3              (2.11,2.67]              0               0.0000000
## 4              (2.67,3.22]              8               4.9079755
## 5              (3.22,3.78]              0               0.0000000
## 6              (3.78,4.33]              3               1.8404908
## 7              (4.33,4.89]              0               0.0000000
## 8              (4.89,5.44]              1               0.6134969
## 9                 (5.44,6]              1               0.6134969

4.5 Zona Oeste.

Con 1103 observaciones, la zona occidente presenta alta predominancia de apartamentos como tipo de vivienda principal (por encima del 80%). Además, a diferencia de las demás zonas, presenta su mayor acumulación de observaciones en el estrato 6. Esto puede visualizarse en la siguiente gráfica de barras.

Lo anterior implica que la distribución de precios para la zona oeste se da alrededor de los valores más altos en el data set, esto puede evidenciarse en el histograma presentado a continuación, donde intervalos de precios alrededor de los 500 millones de precios presentan las mayores frecuencias, incluso en los estratos 3 y 4 se pueden evidenciar altas dispersiones de precios con valores muy altos. ¿Puede lo anterior significar la fijación para la empresa en un nicho de mercado caracterizado por viviendas de mayor lujo?

Para mayor precisión respecto a precios y su variabilidad, el anexo A1 presenta sus indicadores con respecto a los barrios de la zona.

La hipótesis presentada anteriormente puede verse reforzada por el comportamiento del área de las propiedades, pues, a pesar de existir una fuerte predominancia de los apartamentos como tipo de vivienda, las mayores frecuencias para esta variable se ubican en intervalos con valores altos: hasta 115 metros cuadrados (24.7% de las observaciones), entre 115 y 187 metros cuadrados (32.72% de las observaciones), y entre 187 y 258 metros cuadrados (20.58% de las observaciones). Esto puede observarse en la correspondiente tabla de frecuencia mostrada a continuación.

##    Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1                (43.1,115]            273             24.75067996
## 2                 (115,187]            361             32.72892112
## 3                 (187,258]            227             20.58023572
## 4                 (258,329]            132             11.96736174
## 5                 (329,401]             42              3.80779692
## 6                 (401,472]             25              2.26654578
## 7                 (472,543]             24              2.17588395
## 8                 (543,615]              6              0.54397099
## 9                 (615,686]              7              0.63463282
## 10                (686,757]              2              0.18132366
## 11                (757,829]              3              0.27198549
## 12                (829,901]              1              0.09066183

Por su parte, la variable habitac soporta la hipótesis de una proliferación de apartamentos de mayor comodidad y/o lujo, pues su mayor frecuencia se ubica entre 3 habitaciones (53.3% de las obervaciones) y 4 habitaciones (23.6% de las obervaciones), lo cual se halla por encima de los casos anteriormente vistos.

##    Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1             (-0.01,0.833]              2               0.1813237
## 2              (0.833,1.67]             15               1.3599275
## 3                (1.67,2.5]            149              13.5086129
## 4                (2.5,3.33]            588              53.3091568
## 5               (3.33,4.17]            261              23.6627380
## 6                  (4.17,5]             55               4.9864007
## 7                  (5,5.83]              0               0.0000000
## 8               (5.83,6.67]             18               1.6319130
## 9                (6.67,7.5]              5               0.4533092
## 10               (7.5,8.33]              2               0.1813237
## 11              (8.33,9.17]              5               0.4533092
## 12                (9.17,10]              3               0.2719855

Además, se observan frecuencias mayoritarias en viviendas con 4 baños (30.55% de las observaciones), y 2 parqueaderos (59.38% de las observaciones), existiendo frecuencias relativas altas para valores por encima de los anteriores. Lo anterior puede apreciarse en las tablas correspondientes a banios y parquea, respectivamente, las cuales se muestran a continuación para finalizar esa sección.

##    Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1            (-0.008,0.667]              3              0.27198549
## 2              (0.667,1.33]             15              1.35992747
## 3                  (1.33,2]            208             18.85766092
## 4                  (2,2.67]              0              0.00000000
## 5               (2.67,3.33]            299             27.10788758
## 6                  (3.33,4]            337             30.55303717
## 7                  (4,4.67]              0              0.00000000
## 8               (4.67,5.33]            182             16.50045331
## 9                  (5.33,6]             40              3.62647325
## 10                 (6,6.67]              0              0.00000000
## 11              (6.67,7.33]             18              1.63191296
## 12              (7.33,8.01]              1              0.09066183
##    Frequency.area_intervals Frequency.Freq Relative_Frequency.Freq
## 1               (0.994,1.5]            195              17.6790571
## 2                   (1.5,2]            655              59.3834995
## 3                   (2,2.5]              0               0.0000000
## 4                   (2.5,3]            167              15.1405258
## 5                   (3,3.5]              0               0.0000000
## 6                   (3.5,4]             70               6.3463282
## 7                   (4,4.5]              0               0.0000000
## 8                   (4.5,5]              8               0.7252947
## 9                   (5,5.5]              0               0.0000000
## 10                  (5.5,6]              6               0.5439710
## 11                  (6,6.5]              0               0.0000000
## 12               (6.5,7.01]              2               0.1813237

5. Discusión.

En esta sección se presenta una discusión alrededor de los resultados hallados, sus potenciales aplicaciones, y las limitaciones del ejercicio realizado.

El análisis del data frame sobre la zona centro determinó una marcada predominancia de casas estrato 3 con sus respectivas características asociadas, incluyendo niveles de precios relativamente bajos. Sin embargo, estos resultados deben tomarse con cautela debido al tamaño reducido de la muestra. Lo anterior puede atribuirse a una carencia de datos para la zona por parte del data frame utilizado, o, considerando la fuente del mismo, a un bajo volumen de actividad del mercado inmobiliario en el centro de Cali. Así, se recomienda la profundización del análisis desde fuentes complementarias para corroborar los resultados obtenidos.

El comportamiento de la zona norte indicó una mayor regularidad en los resultados, lo cual podía esperarse de un tamaño de muestra mucho más grande (1289 observaciones). En general, presenta una fuerte tendencia de regularidad hacia apartamentos estrato 5, con sus respectivas características y niveles de precios alrededor de los 400 millones de pesos. La descripción obtenida para la zona se presta para la ejecución de estrategias de venta o arrendamiento de apartamentos de estandarización para clase media alta.

El caso de la zona sur puede presentarse como la descripción de mayor fiabilidad del data frame, debido a su gran cantidad de observaciones (4105) y el cómo éstas otorgan una amplia caracterización de la oferta inmobiliaria en la zona. Si bien en esta zona se cumple el patrón de superioridad en la proporción de apartamentos con respecto a casas, la proporción de casas obtiene significancia en los estratos 4, 5 y 6. Además, se identifica que los precios observados para todos los estratos son relativamente bajos, denotando un posible alto grado de competitividad del mercado en la zona. Lo anterior es congruente con la amplia consolidación del sur de Cali como sector residencial y universitario.

El caso de la zona oriente es bastante similar al de la zona centro, se encuetran pocas observaciones en el data frame, las cuales se sesgan hacia la clasificación de casas en el estrato 3. Se recomienda profundización y fuentes complementarias para la toma de decisiones de la empresa en esta zona.

La zona oeste arrojó el caso de caracterización con mayor estabilidad del data set, pues, se observó suficiente evidencia para concluir que este segmento consiste, en gran medida, de apartamentos para la clase alta. Esta información se observó en la estratificación de la zona, su comportamiento de precios, y características puntuales de las viviendas. Lo anterior es un claro insumo para la configuración de una estrategia de ventas y atención personalizada hacia clientes con niveles de ingreso y expectativas compatibles con estos atributos.

Nótese que una profundización de la descripción realizada puede obtenerse incluso con un mayor nivel de segmentación a partir del anexo A1, el cual otorga indicadores de centralidad y dispersión en función de los precios por barrio de cada zona. Lo anterior, en conjunción con el análisis realizado, puede representar una guía tanto para la fijación de precios y comisiones, como para procesos de marketing, segmentación y atención al cliente. Sin embargo, si bien el análisis descriptivo obtenido otorga una buena idea respecto al comportamiento del mercado inmobiliario en la ciudad, se recomienda validar estos resultados a través de la construcción de estimadores robustos para las variables relevantes.

6. Conclusiones.

A continuación, se presentan la conclusiones de mayor relevancia respecto al informe provisto.

7. Anexos.

Anexo A1: Indicadores de centralidad y dispersión de precios por barrio.

Zona Centro: Los indicadores de dispersión NA denotan datos únicos, lo cual puede deberse a discrepancias en la escritura del mismo barrio u observaciones únicas.

#aggregate tendency and dispersion measures
precio.indicators.centro <- aggregate(zonacentro$preciom,
                                      by = list(zonacentro$barrio),
                                      FUN = function(x) c(media = mean(x), mediana = median(x), asimetria = skewness(x), curtosis = kurtosis(x), desv.std = sd(x), muestra = length(x)))

precio.indicators.centro
##               Group.1      x.media    x.mediana  x.asimetria   x.curtosis
## 1             alameda 541.25000000 472.50000000   0.26521924  -2.05453508
## 2            aranjuez 284.81818182 270.00000000   0.22231534  -0.98807458
## 3       barrio obrero 165.00000000 165.00000000           NA           NA
## 4          belalcazar 260.00000000 260.00000000           NA           NA
## 5    benjamín herrera 390.00000000 390.00000000           NA           NA
## 6             bretaña 287.85714286 295.00000000  -0.08489198  -0.85889738
## 7            centelsa 325.00000000 325.00000000           NA           NA
## 8              centro 500.00000000 500.00000000           NA           NA
## 9          colseguros 300.00000000 300.00000000           NA           NA
## 10         el troncal 350.00000000 350.00000000           NA           NA
## 11   flora industrial 170.00000000 170.00000000           NA           NA
## 12          guayaquil 370.00000000 302.50000000   0.52613798  -1.84763516
## 13       jorge isaacs 400.00000000 400.00000000           NA           NA
## 14              junin 280.11111111 250.00000000   1.10903006  -0.64665074
## 15              junín 260.00000000 260.00000000           NA           NA
## 16          la merced 355.00000000 355.00000000   0.00000000  -2.75000000
## 17          la morada 380.00000000 380.00000000           NA           NA
## 18   los libertadores 542.00000000 542.00000000           NA           NA
## 19         miraflores 400.00000000 400.00000000           NA           NA
## 20   nueva tequendama 180.00000000 180.00000000           NA           NA
## 21        san antonio 615.00000000 615.00000000   0.00000000  -2.75000000
## 22          san bosco 400.00000000 400.00000000   0.00000000  -2.75000000
## 23       san cayetano 300.00000000 300.00000000           NA           NA
## 24     san juan bosco 278.33333333 320.00000000  -0.38305315  -2.33333333
## 25        san nicolás 450.00000000 450.00000000           NA           NA
## 26          san pedro 310.00000000 310.00000000           NA           NA
## 27        santa anita 350.00000000 350.00000000           NA           NA
## 28    santa helena de 330.00000000 330.00000000           NA           NA
## 29 torres de comfandi 150.00000000 150.00000000           NA           NA
##      x.desv.std    x.muestra
## 1  432.86593383   4.00000000
## 2   86.22275591  11.00000000
## 3            NA   1.00000000
## 4            NA   1.00000000
## 5            NA   1.00000000
## 6   99.99404744   7.00000000
## 7            NA   1.00000000
## 8            NA   1.00000000
## 9            NA   1.00000000
## 10           NA   1.00000000
## 11           NA   1.00000000
## 12 232.84472652   4.00000000
## 13           NA   1.00000000
## 14  75.08402700   9.00000000
## 15           NA   1.00000000
## 16  63.63961031   2.00000000
## 17           NA   1.00000000
## 18           NA   1.00000000
## 19           NA   1.00000000
## 20           NA   1.00000000
## 21 233.34523779   2.00000000
## 22 169.70562748   2.00000000
## 23           NA   1.00000000
## 24  76.53975002   3.00000000
## 25           NA   1.00000000
## 26           NA   1.00000000
## 27           NA   1.00000000
## 28           NA   1.00000000
## 29           NA   1.00000000

Zona Norte: Los indicadores de dispersión NA denotan datos únicos, lo cual puede deberse a discrepancias en la escritura del mismo barrio u observaciones únicas.

#aggregate tendency and dispersion measures
precio.indicators.norte <- aggregate(zonanorte$preciom,
                                      by = list(zonanorte$barrio),
                                      FUN = function(x) c(media = mean(x), mediana = median(x), asimetria = skewness(x), curtosis = kurtosis(x), desv.std = sd(x), muestra = length(x)))

precio.indicators.norte
##                       Group.1      x.media    x.mediana  x.asimetria
## 1                       acopi 444.75000000 420.00000000   0.37531038
## 2             alameda del río 280.00000000 280.00000000           NA
## 3                      alamos 179.28571429 160.00000000   0.89514342
## 4                   alcazares 120.00000000 120.00000000           NA
## 5              altos de menga 339.00000000 339.00000000   0.00000000
## 6           atanasio girardot 400.00000000 400.00000000           NA
## 7                barranquilla 250.00000000 250.00000000           NA
## 8                 base aérea 431.00000000 431.00000000   0.00000000
## 9               brisas de los 136.94117647 120.50000000   1.68150315
## 10              Brisas De Los 125.00000000 125.00000000           NA
## 11                 cali bella  93.00000000  93.00000000           NA
## 12                  calibella 160.00000000 160.00000000           NA
## 13                     calima 240.00000000 240.00000000   0.00000000
## 14              calimio norte 112.80000000 125.00000000  -0.28221144
## 15                   cambulos 500.00000000 500.00000000           NA
## 16                 centenario 389.50000000 370.00000000   0.98292622
## 17                 Centenario 310.00000000 310.00000000           NA
## 18                chiminangos  81.50000000  81.50000000   0.00000000
## 19                 chipichape 466.60714286 427.50000000   0.42255437
## 20              ciudad jardín 850.00000000 850.00000000           NA
## 21          ciudad los alamos 145.00000000 145.00000000           NA
## 22          ciudad los álamos 167.50000000 147.50000000   1.14798958
## 23         colinas del bosque 369.00000000 369.00000000           NA
## 24         conjunto gibraltar 140.00000000 140.00000000           NA
## 25                  el bosque 383.15555556 350.00000000   0.67380390
## 26                  El Bosque 450.00000000 450.00000000           NA
## 27            el gran limonar 750.00000000 750.00000000           NA
## 28                 el guabito 145.00000000 145.00000000           NA
## 29                    el lido 145.00000000 145.00000000           NA
## 30                   el peñon 400.00000000 400.00000000           NA
## 31                    el sena 310.00000000 310.00000000           NA
## 32                 el trébol 420.00000000 420.00000000           NA
## 33                 el troncal 125.00000000 125.00000000           NA
## 34            evaristo garcía 185.00000000 185.00000000           NA
## 35                      flora 170.00000000 170.00000000           NA
## 36           flora industrial 304.53846154 260.00000000   0.28861445
## 37                   floralia 170.00000000 170.00000000   0.00000000
## 38                    granada 545.00000000 480.00000000   0.85904769
## 39                  guaduales  75.00000000  75.00000000           NA
## 40                  guayaquil 135.00000000 135.00000000           NA
## 41       jorge eliecer gaitán 380.00000000 380.00000000           NA
## 42                  juanamb√∫ 681.97560976 643.00000000   0.28300453
## 43                   juanambu 650.00000000 650.00000000           NA
## 44                 la alianza 130.00000000 130.00000000          NaN
## 45                    la base 412.00000000 412.00000000           NA
## 46                 la campiña 323.50000000 275.00000000   0.51904989
## 47               la esmeralda 310.00000000 310.00000000           NA
## 48                   la flora 375.56160458 350.00000000   2.41264480
## 49                   La Flora 540.00000000 540.00000000   0.00000000
## 50                la floresta 190.00000000 190.00000000           NA
## 51                  la merced 353.21739130 330.00000000   0.95512455
## 52                  la rivera 178.75000000 180.00000000  -0.03531177
## 53               la rivera ii 235.00000000 235.00000000           NA
## 54                 la riviera 180.00000000 180.00000000           NA
## 55               la villa del 330.00000000 330.00000000           NA
## 56                    laflora 250.00000000 250.00000000           NA
## 57                las acacias 400.00000000 400.00000000           NA
## 58              las américas 350.00000000 350.00000000           NA
## 59                 las ceibas  91.50000000  91.50000000   0.00000000
## 60               las delicias 120.00000000 120.00000000           NA
## 61                 los alamos 135.00000000 135.00000000           NA
## 62              los alcazares  98.33333333 105.00000000  -0.11957673
## 63              los alcázares  70.00000000  70.00000000           NA
## 64                  los andes 222.54545455 200.00000000   1.40043975
## 65              los guaduales 179.66666667 175.00000000   0.80310866
## 66              Los Guaduales  95.00000000  95.00000000           NA
## 67   los parques barranquilla 156.00000000 132.00000000   0.81971514
## 68                 los robles 120.00000000 120.00000000           NA
## 69                 manzanares 177.00000000 135.00000000   1.05011812
## 70                      menga 605.71428571 530.00000000   0.95895131
## 71    metropolitano del norte 134.13333333 122.00000000   1.48596923
## 72             norte la flora 460.00000000 460.00000000           NA
## 73          oasis de comfandi 234.00000000 234.00000000   0.00000000
## 74                     pacara 170.52631579 156.00000000   2.08011206
## 75                     pacará 153.00000000 152.00000000   0.42350179
## 76               paseo de los 285.00000000 285.00000000   0.00000000
## 77          paso del comercio 177.50000000 177.50000000   0.00000000
## 78          poblado campestre 400.00000000 400.00000000           NA
## 79                    popular 302.50000000 302.50000000   0.00000000
## 80                   porvenir 750.00000000 750.00000000           NA
## 81           prados del norte 286.79611650 230.00000000   1.57471192
## 82           Prados Del Norte 350.00000000 350.00000000           NA
## 83        puente del comercio 103.00000000 103.00000000   0.00000000
## 84               rincon de la 260.00000000 260.00000000           NA
## 85              rozo la torre 200.00000000 200.00000000           NA
## 86                    salomia 235.05555556 215.00000000   1.12348206
## 87                     sameco 115.00000000 115.00000000           NA
## 88               san fernando 235.00000000 235.00000000   0.00000000
## 89                   san luis 180.00000000 180.00000000           NA
## 90                  san pedro 310.00000000 310.00000000           NA
## 91                san vicente 512.48484848 440.00000000   2.10205221
## 92               santa monica 655.77551020 600.00000000   0.69053786
## 93               Santa Monica 950.00000000 950.00000000           NA
## 94               santa mónica 655.00000000 655.00000000   0.00000000
## 95         santa monica norte 655.00000000 655.00000000   0.00000000
## 96   santa monica residencial 688.00000000 800.00000000  -0.29453559
## 97   santa mónica residencial 744.81818182 690.00000000   0.80338160
## 98             tejares de san 670.00000000 670.00000000           NA
## 99         torres de comfandi 130.73913043 120.00000000   1.55141682
## 100 urbanización barranquilla 240.00000000 240.00000000           NA
## 101     urbanización la flora 408.09876543 360.00000000   1.14516953
## 102    urbanización la merced 397.50000000 370.00000000   0.58276107
## 103       urbanización pacara 175.00000000 175.00000000           NA
## 104                 versalles 402.93750000 320.00000000   2.47316298
## 105            villa colombia 550.00000000 550.00000000           NA
## 106         villa de veracruz 137.50000000 137.50000000   0.00000000
## 107          villa del parque 120.00000000 120.00000000           NA
## 108           villa del prado 179.00000000 158.50000000   2.34538479
## 109           Villa Del Prado 155.00000000 155.00000000           NA
## 110             villa del sol 168.00000000 145.00000000   0.70362088
## 111        villas de veracruz 110.00000000 110.00000000           NA
## 112                    vipasa 426.20833333 380.00000000   1.48055987
## 113                zona norte 293.88235294 280.00000000   1.02937184
## 114            zona norte los 215.00000000 215.00000000           NA
## 115          zona residencial 145.00000000 145.00000000           NA
##       x.curtosis   x.desv.std    x.muestra
## 1    -1.14288572 201.35380618  20.00000000
## 2             NA           NA   1.00000000
## 3    -0.92106556  50.20197302   7.00000000
## 4             NA           NA   1.00000000
## 5    -2.75000000  55.15432893   2.00000000
## 6             NA           NA   1.00000000
## 7             NA           NA   1.00000000
## 8    -2.75000000  26.87005769   2.00000000
## 9     1.88355771  41.20748768  34.00000000
## 10            NA           NA   1.00000000
## 11            NA           NA   1.00000000
## 12            NA           NA   1.00000000
## 13   -2.75000000  42.42640687   2.00000000
## 14   -2.10903233  29.05512003   5.00000000
## 15            NA           NA   1.00000000
## 16    0.47408185 203.88518011  10.00000000
## 17            NA           NA   1.00000000
## 18   -2.75000000   4.94974747   2.00000000
## 19   -0.82982311 147.01381625  28.00000000
## 20            NA           NA   1.00000000
## 21            NA           NA   1.00000000
## 22    0.21648787  46.04839352  12.00000000
## 23            NA           NA   1.00000000
## 24            NA           NA   1.00000000
## 25    0.15847186 134.75110989  45.00000000
## 26            NA           NA   1.00000000
## 27            NA           NA   1.00000000
## 28            NA           NA   1.00000000
## 29            NA           NA   1.00000000
## 30            NA           NA   1.00000000
## 31            NA           NA   1.00000000
## 32            NA           NA   1.00000000
## 33            NA           NA   1.00000000
## 34            NA           NA   1.00000000
## 35            NA           NA   1.00000000
## 36   -1.26485232 142.60879787  13.00000000
## 37   -2.75000000  70.71067812   2.00000000
## 38   -0.61147443 264.56725673  13.00000000
## 39            NA           NA   1.00000000
## 40            NA           NA   1.00000000
## 41            NA           NA   1.00000000
## 42   -1.09824274 288.92918577  41.00000000
## 43            NA           NA   1.00000000
## 44           NaN   0.00000000   3.00000000
## 45            NA           NA   1.00000000
## 46   -1.19723717 127.99396293  12.00000000
## 47            NA           NA   1.00000000
## 48   11.50938052 134.93203829 349.00000000
## 49   -2.75000000 339.41125497   2.00000000
## 50            NA           NA   1.00000000
## 51    0.58372031  72.97630781  23.00000000
## 52   -1.87463048  79.62150045   4.00000000
## 53            NA           NA   1.00000000
## 54            NA           NA   1.00000000
## 55            NA           NA   1.00000000
## 56            NA           NA   1.00000000
## 57            NA           NA   1.00000000
## 58            NA           NA   1.00000000
## 59   -2.75000000   4.94974747   2.00000000
## 60            NA           NA   1.00000000
## 61            NA           NA   1.00000000
## 62   -2.04363621  21.88035649   9.00000000
## 63            NA           NA   1.00000000
## 64    1.34815451 114.40835952  11.00000000
## 65   -0.35525477  72.98801271   9.00000000
## 66            NA           NA   1.00000000
## 67   -1.24159016  52.53094326   5.00000000
## 68            NA           NA   1.00000000
## 69   -0.94869985  97.13907556   5.00000000
## 70   -0.05133456 385.64061160  14.00000000
## 71    1.70878812  40.67092093  15.00000000
## 72            NA           NA   1.00000000
## 73   -2.75000000 192.33304448   2.00000000
## 74    3.23777901  45.95452876  19.00000000
## 75   -1.82046399   5.03322296   4.00000000
## 76   -2.75000000   7.07106781   2.00000000
## 77   -2.43750000  77.94228634   4.00000000
## 78            NA           NA   1.00000000
## 79   -2.75000000  38.89087297   2.00000000
## 80            NA           NA   1.00000000
## 81    2.19138101 127.79275189 103.00000000
## 82            NA           NA   1.00000000
## 83   -2.75000000   9.89949494   2.00000000
## 84            NA           NA   1.00000000
## 85            NA           NA   1.00000000
## 86    0.61626193 118.25768087  18.00000000
## 87            NA           NA   1.00000000
## 88   -2.75000000  21.21320344   2.00000000
## 89            NA           NA   1.00000000
## 90            NA           NA   1.00000000
## 91    4.88431609 378.95251362  33.00000000
## 92    0.15665946 300.10007118  49.00000000
## 93            NA           NA   1.00000000
## 94   -2.75000000 106.06601718   2.00000000
## 95   -2.75000000   7.07106781   2.00000000
## 96   -2.19810678 201.17156857   5.00000000
## 97    0.12809550 322.78305936  33.00000000
## 98            NA           NA   1.00000000
## 99    1.98756637  35.25003854  23.00000000
## 100           NA           NA   1.00000000
## 101   1.01470324 139.20951880  81.00000000
## 102  -1.78006047  91.78779875   4.00000000
## 103           NA           NA   1.00000000
## 104   6.79242602 262.62465672  64.00000000
## 105           NA           NA   1.00000000
## 106  -2.75000000  38.89087297   2.00000000
## 107           NA           NA   1.00000000
## 108   4.76153340  59.28159657  14.00000000
## 109           NA           NA   1.00000000
## 110  -1.22537781  43.62482092  17.00000000
## 111           NA           NA   1.00000000
## 112   1.69457119 131.80452561  24.00000000
## 113   0.66148160 144.15914919  17.00000000
## 114           NA           NA   1.00000000
## 115           NA           NA   1.00000000

Zona Sur: Los indicadores de dispersión NA denotan datos únicos, lo cual puede deberse a discrepancias en la escritura del mismo barrio u observaciones únicas.

#aggregate tendency and dispersion measures
precio.indicators.sur <- aggregate(zonasur$preciom,
                                     by = list(zonasur$barrio),
                                     FUN = function(x) c(media = mean(x), mediana = median(x), asimetria = skewness(x), curtosis = kurtosis(x), desv.std = sd(x), muestra = length(x)))
precio.indicators.sur
##                           Group.1       x.media     x.mediana   x.asimetria
## 1                      3 de julio  400.00000000  400.00000000            NA
## 2                           acopi  290.00000000  290.00000000            NA
## 3                      aguablanca   78.00000000   78.00000000            NA
## 4                       aguacatal  875.00000000  875.00000000            NA
## 5                         alameda  460.00000000  460.00000000    0.00000000
## 6                   alférez real  181.66666667  210.00000000   -0.37204656
## 7                    alferez real  380.00000000  380.00000000            NA
## 8                     alto jordán  230.00000000  230.00000000            NA
## 9              altos de guadalupe  471.33333333  420.00000000    0.28874256
## 10                       aranjuez  215.00000000  215.00000000            NA
## 11                       arboleda  910.00000000  910.00000000            NA
## 12              belisario caicedo  140.00000000  140.00000000    0.00000000
## 13                    bella suiza  252.00000000  285.00000000   -0.25684077
## 14               bella suiza alta  925.00000000  925.00000000    0.00000000
## 15                      bochalema  216.81818182  225.50000000   -0.34893207
## 16            bosques del limonar  355.60000000  295.00000000    0.74824244
## 17                        bretaña  350.00000000  350.00000000            NA
## 18            brisas de guadalupe  850.00000000  850.00000000            NA
## 19             brisas del limonar  320.00000000  320.00000000            NA
## 20                   buenos aires  217.50000000  157.50000000    1.24387236
## 21                         caldas  175.00000000  175.00000000            NA
## 22                           Cali  220.00000000  220.00000000    0.00000000
## 23                     cali canto  250.00000000  250.00000000            NA
## 24                      calicanto  210.16666667  222.50000000   -0.73075426
## 25                 calicanto viii  375.00000000  375.00000000            NA
## 26                       cambulos  290.00000000  290.00000000    0.00000000
## 27                    camino real  334.40625000  315.00000000    1.60516680
## 28                    Camino Real  190.00000000  190.00000000            NA
## 29                      campestre  335.00000000  335.00000000            NA
## 30                          caney  268.00000000  270.00000000    0.13565042
## 31                 caney especial  345.00000000  355.00000000   -0.40902658
## 32                    cañasgordas  903.28571429  680.00000000    0.86033442
## 33                   cañaveralejo  195.50000000  175.00000000    1.72158599
## 34                    cañaverales  163.84615385  125.00000000    1.76854257
## 35        cañaverales los samanes  140.00000000  140.00000000            NA
## 36                          capri  298.36538462  270.00000000    1.84634775
## 37                       cascajal  980.00000000  980.00000000            NA
## 38                    cataya real  560.00000000  560.00000000            NA
## 39                cerro cristales  350.00000000  350.00000000            NA
## 40            cerros de guadalupe  350.00000000  350.00000000            NA
## 41                     champagnat  418.75000000  435.00000000   -0.60758694
## 42                    ciudad 2000  311.65853659  327.50000000   -0.33499919
## 43                    Ciudad 2000  255.00000000  255.00000000            NA
## 44              ciudad antejardin  550.00000000  550.00000000            NA
## 45               ciudad bochalema  211.44736842  210.00000000    0.25639483
## 46                   ciudad capri  408.53846154  330.00000000    0.49746059
## 47                  ciudad jardin  918.04761905  950.00000000    0.31749392
## 48                  ciudad jardín  747.02839757  670.00000000    1.04498295
## 49                  Ciudad Jardín  647.50000000  647.50000000    0.00000000
## 50            ciudad jardin pance  833.00000000  833.00000000            NA
## 51               ciudad meléndez  270.00000000  270.00000000            NA
## 52                ciudad melendez  160.00000000  160.00000000            NA
## 53                  ciudad modelo  420.00000000  420.00000000            NA
## 54                ciudad pacifica  120.00000000  120.00000000            NA
## 55                    ciudad real  312.66666667  298.00000000    0.26132347
## 56             ciudadela comfandi  233.90000000  249.50000000   -0.00979631
## 57             ciudadela melendez  160.00000000  160.00000000            NA
## 58           ciudadela paso ancho  700.00000000  700.00000000            NA
## 59            ciudadela pasoancho  946.95000000  967.00000000   -0.16517474
## 60                colinas del sur  292.00000000  195.00000000    0.74625128
## 61                          colon  150.00000000  150.00000000            NA
## 62                     colseguros  317.69444444  300.00000000    0.81409799
## 63               colseguros andes  421.25000000  437.50000000   -0.07092767
## 64                      cristales  380.00000000  380.00000000            NA
## 65                cristobal colón  298.16666667  350.00000000   -0.73122665
## 66                cristóbal colón  950.00000000  950.00000000            NA
## 67                cuarto de legua  356.02380952  320.50000000    0.87100912
## 68                  departamental  417.00000000  420.00000000   -0.07158471
## 69                       el caney  261.53892216  248.00000000    0.96275454
## 70                       El Caney  230.00000000  230.00000000            NA
## 71                    el castillo  230.00000000  230.00000000            NA
## 72                       el cedro  434.00000000  450.00000000    0.01331196
## 73                      el dorado  180.50000000  185.00000000   -0.06305688
## 74                el gran limonar  427.85714286  500.00000000   -0.22247382
## 75                      el guabal  272.23076923  285.00000000    0.30477537
## 76                     el ingenio  432.36868687  352.50000000    1.91858323
## 77                     El Ingenio  450.00000000  450.00000000            NA
## 78                   el ingenio 3  320.00000000  320.00000000            NA
## 79                   el ingenio i  378.26315789  290.00000000    1.41135236
## 80                  el ingenio ii  550.23809524  550.00000000    0.97017109
## 81                 el ingenio iii  458.68421053  450.00000000    0.39603963
## 82                        el lido  309.13725490  240.00000000    2.08684027
## 83                     el limonar  426.94166667  380.00000000    0.44891163
## 84                     el refugio  271.43243243  240.00000000    0.95293737
## 85                    eucarístico  300.00000000  300.00000000            NA
## 86           farrallones de pance  660.00000000  660.00000000            NA
## 87       francisco eladio ramirez  330.00000000  330.00000000            NA
## 88                  fuentes de la  170.00000000  170.00000000            NA
## 89                   gran limonar  453.20833333  405.00000000    1.03888956
## 90                      guadalupe  403.36842105  415.00000000    0.29662952
## 91          hacienda alferez real  400.00000000  400.00000000            NA
## 92                        ingenio  480.00000000  480.00000000            NA
## 93                      ingenio i 1200.00000000 1200.00000000            NA
## 94                     ingenio ii  300.00000000  300.00000000            NA
## 95                        jamundi  170.00000000  155.00000000    0.25601548
## 96              jamundi alfaguara  400.00000000  400.00000000            NA
## 97                    la alborada  140.33333333  115.00000000    0.37645184
## 98                    la buitrera  890.00000000  890.00000000    0.00000000
## 99                     la cascada  376.66666667  420.00000000   -0.22332003
## 100                      la flora  397.00000000  397.00000000            NA
## 101                   la hacienda  353.46875000  330.00000000    5.09065949
## 102                   La Hacienda  335.00000000  335.00000000    0.00000000
## 103                   la libertad  190.00000000  190.00000000            NA
## 104                      la playa  500.00000000  500.00000000            NA
## 105                 la portada al 1500.00000000 1500.00000000            NA
## 106                    la reforma  720.00000000  720.00000000            NA
## 107                   la riverita 1390.00000000 1390.00000000            NA
## 108                      la selva  180.66666667  170.00000000    0.92503061
## 109                   las acacias  289.00000000  302.50000000   -0.39829829
## 110                  las camelias  220.00000000  220.00000000            NA
## 111                   las granjas  176.25000000  142.50000000    0.74289662
## 112                     las vegas  600.00000000  600.00000000            NA
## 113                  las vegas de  155.00000000  155.00000000            NA
## 114                  libertadores  275.00000000  275.00000000            NA
## 115                  los cambulos  346.87500000  275.00000000    1.24851382
## 116                  los cámbulos  342.00000000  340.00000000    0.12856517
## 117                   los jockeys 1000.00000000 1000.00000000            NA
## 118                       lourdes  210.00000000  210.00000000    0.00000000
## 119             mayapan las vegas  363.97619048  332.50000000    0.88476158
## 120                     meléndez  160.23076923  145.00000000    1.39405112
## 121                      melendez  192.00000000  155.00000000    0.95262770
## 122                    miraflores  400.00000000  400.00000000            NA
## 123                   multicentro  374.54166667  352.50000000    3.24716565
## 124                       napoles  193.50000000  193.50000000    0.00000000
## 125                       nápoles  246.84210526  280.00000000   -0.59981310
## 126                     normandía  560.00000000  560.00000000            NA
## 127                nueva floresta  277.50000000  277.50000000    0.00000000
## 128              nueva tequendama  366.35384615  350.00000000    1.05939414
## 129            oasis de pasoancho  130.00000000  130.00000000            NA
## 130            palmas del ingenio  490.00000000  490.00000000            NA
## 131                   pampa linda  400.73913043  440.00000000    0.41304356
## 132                    pampalinda  402.90000000  365.00000000    0.07333993
## 133                  panamericano  450.00000000  480.00000000   -0.10688386
## 134                         pance  877.16666667  760.00000000    0.87928907
## 135                         Pance 1236.66666667 1280.00000000   -0.14731996
## 136           parcelaciones pance  955.43859649  900.00000000    0.84220027
## 137                     pasoancho  239.00000000  239.00000000    0.00000000
## 138             poblado campestre  148.00000000  148.00000000            NA
## 139                         ponce  699.00000000  699.00000000            NA
## 140            prados del limonar  515.15789474  393.00000000    2.19128960
## 141            Prados Del Limonar  380.00000000  380.00000000            NA
## 142                prados del sur  215.00000000  215.00000000    0.00000000
## 143               primero de mayo  266.24137931  210.00000000    1.48698701
## 144                  puente palma  420.00000000  420.00000000            NA
## 145                quintas de don  362.92753623  340.00000000    4.19830167
## 146                Quintas De Don  445.00000000  445.00000000            NA
## 147                       refugio  360.00000000  360.00000000            NA
## 148             riveras del valle  340.00000000  340.00000000            NA
## 149                       samanes  113.00000000  113.00000000            NA
## 150                  san fernando  461.15000000  450.00000000    1.01595701
## 151                  San Fernando  350.00000000  350.00000000            NA
## 152            san fernando nuevo  456.50000000  450.00000000   -0.40972563
## 153            san fernando viejo  532.14285714  487.50000000    1.35908119
## 154                   san joaquin  432.50000000  460.00000000   -0.46556853
## 155                   san joaquín  521.26666667  550.00000000   -0.16463713
## 156               san judas tadeo 1350.00000000 1350.00000000            NA
## 157                   santa anita  251.16279070  250.00000000    0.86797900
## 158                   Santa Anita  232.50000000  232.50000000    0.00000000
## 159               santa anita sur  350.00000000  350.00000000            NA
## 160                   santa elena  313.33333333  300.00000000    0.10085980
## 161                  santa isabel  445.00000000  420.00000000    1.11791839
## 162          santa mónica popular  450.00000000  450.00000000            NA
## 163                santa teresita  690.00000000  725.00000000   -0.47534255
## 164                 santo domingo  279.00000000  285.00000000   -0.04823168
## 165              sector aguacatal  135.00000000  135.00000000            NA
## 166 sector cañaveralejo guadalupe  250.00000000  250.00000000    0.00000000
## 167                     seminario  382.35483871  310.00000000    2.85941725
## 168                tejares de san 1416.66666667 1400.00000000    0.38490018
## 169                      templete  315.00000000  180.00000000    0.38330296
## 170                    tequendama  522.20588235  440.00000000    1.69456774
## 171                unicentro cali 1250.00000000 1250.00000000            NA
## 172       urbanización colseguros  314.33333333  235.00000000    0.31657104
## 173        urbanizacion gratamira  140.00000000  140.00000000            NA
## 174     urbanización las cascadas  450.00000000  450.00000000            NA
## 175             urbanizacion lili  595.00000000  595.00000000    0.00000000
## 176    urbanización nueva granada  265.00000000  265.00000000    0.00000000
## 177         urbanización río lili  454.00000000  410.00000000    0.11354609
## 178      urbanización san joaquin  475.00000000  465.00000000    0.40902658
## 179       urbanización tequendama  650.83333333  495.00000000    0.96387937
## 180                valle del lili  256.34647551  245.00000000    1.73544322
## 181                Valle Del Lili  220.00000000  220.00000000            NA
## 182                     versalles  450.00000000  450.00000000            NA
## 183                        vipasa  352.50000000  352.50000000    0.00000000
## 184                      zona sur  453.01666667  344.50000000    2.01264458
##        x.curtosis    x.desv.std     x.muestra
## 1              NA            NA    1.00000000
## 2              NA            NA    1.00000000
## 3              NA            NA    1.00000000
## 4              NA            NA    1.00000000
## 5     -2.75000000   56.56854249    2.00000000
## 6     -2.33333333   57.95112884    3.00000000
## 7              NA            NA    1.00000000
## 8              NA            NA    1.00000000
## 9     -2.33333333  159.32775444    3.00000000
## 10             NA            NA    1.00000000
## 11             NA            NA    1.00000000
## 12    -2.75000000   14.14213562    2.00000000
## 13    -2.22506644   66.48308055    5.00000000
## 14    -2.75000000  601.04076401    2.00000000
## 15    -1.13836773   44.48074636   22.00000000
## 16    -1.11277209  151.56460197   15.00000000
## 17             NA            NA    1.00000000
## 18             NA            NA    1.00000000
## 19             NA            NA    1.00000000
## 20    -0.28044497  166.21522193    6.00000000
## 21             NA            NA    1.00000000
## 22    -2.75000000   98.99494937    2.00000000
## 23             NA            NA    1.00000000
## 24    -0.91153628   57.42966713    6.00000000
## 25             NA            NA    1.00000000
## 26    -2.75000000   84.85281374    2.00000000
## 27     3.79777024  120.74549598   32.00000000
## 28             NA            NA    1.00000000
## 29             NA            NA    1.00000000
## 30    -0.84342392   89.36527018   67.00000000
## 31    -1.96519679   40.41451884    4.00000000
## 32    -0.96506405  499.70815292    7.00000000
## 33     1.95356046   77.40406248   10.00000000
## 34     1.38137573   99.29824281   13.00000000
## 35             NA            NA    1.00000000
## 36     3.82401025  133.90720065   52.00000000
## 37             NA            NA    1.00000000
## 38             NA            NA    1.00000000
## 39             NA            NA    1.00000000
## 40             NA            NA    1.00000000
## 41    -0.54667207   86.63205894   12.00000000
## 42     0.26861218   89.17138714   82.00000000
## 43             NA            NA    1.00000000
## 44             NA            NA    1.00000000
## 45    -0.16397490   41.22954685   38.00000000
## 46    -1.31796071  193.16944866   13.00000000
## 47    -1.18279341  528.19432752   21.00000000
## 48     0.48917122  370.95828881  493.00000000
## 49    -2.75000000  187.38329701    2.00000000
## 50             NA            NA    1.00000000
## 51             NA            NA    1.00000000
## 52             NA            NA    1.00000000
## 53             NA            NA    1.00000000
## 54             NA            NA    1.00000000
## 55    -2.33333333   51.58811233    3.00000000
## 56    -1.59307430   77.27217409   10.00000000
## 57             NA            NA    1.00000000
## 58             NA            NA    1.00000000
## 59    -1.57972588  276.32884205   20.00000000
## 60    -1.31377482  214.84296591    5.00000000
## 61             NA            NA    1.00000000
## 62     0.38791067  161.02365744   36.00000000
## 63    -2.35350812  157.50000000    4.00000000
## 64             NA            NA    1.00000000
## 65    -1.45447410   93.11587763    6.00000000
## 66             NA            NA    1.00000000
## 67     0.49260658  154.21642823   42.00000000
## 68    -1.54456471  213.38228605   15.00000000
## 69     1.92281444  109.89237607  167.00000000
## 70             NA            NA    1.00000000
## 71             NA            NA    1.00000000
## 72    -1.64655308   70.21395873    5.00000000
## 73    -2.36528710   40.50925820    4.00000000
## 74    -1.71781324  207.68279384    7.00000000
## 75     0.51298455   77.71545733   13.00000000
## 76     4.40968803  221.83691002  198.00000000
## 77             NA            NA    1.00000000
## 78             NA            NA    1.00000000
## 79     0.48589025  222.76765228   19.00000000
## 80     0.45185470  256.57589613   21.00000000
## 81    -1.31485188  216.56306565   19.00000000
## 82     5.70435407  204.97970823   51.00000000
## 83    -0.75826605  182.36344244  120.00000000
## 84     0.67975411  104.43028311  111.00000000
## 85             NA            NA    1.00000000
## 86             NA            NA    1.00000000
## 87             NA            NA    1.00000000
## 88             NA            NA    1.00000000
## 89     0.95060683  233.55308105   24.00000000
## 90    -1.05895203  155.64568400   19.00000000
## 91             NA            NA    1.00000000
## 92             NA            NA    1.00000000
## 93             NA            NA    1.00000000
## 94             NA            NA    1.00000000
## 95    -2.33333333   54.08326913    3.00000000
## 96             NA            NA    1.00000000
## 97    -2.33333333   50.06329327    3.00000000
## 98    -2.75000000  438.40620434    2.00000000
## 99    -1.84771782  137.64689124    6.00000000
## 100            NA            NA    1.00000000
## 101   39.27794255  162.01471017  160.00000000
## 102   -2.75000000   21.21320344    2.00000000
## 103            NA            NA    1.00000000
## 104            NA            NA    1.00000000
## 105            NA            NA    1.00000000
## 106            NA            NA    1.00000000
## 107            NA            NA    1.00000000
## 108   -0.35730874   67.58698099    9.00000000
## 109   -1.23080302   79.07139631    8.00000000
## 110            NA            NA    1.00000000
## 111   -1.69222810   72.61485156    4.00000000
## 112            NA            NA    1.00000000
## 113            NA            NA    1.00000000
## 114            NA            NA    1.00000000
## 115    0.80528666  156.12016345   24.00000000
## 116   -2.01730870  105.68822072    5.00000000
## 117            NA            NA    1.00000000
## 118   -2.75000000   28.28427125    2.00000000
## 119   -0.20810551  125.64593849   42.00000000
## 120    0.99047017   73.42700893   13.00000000
## 121   -0.30423554   90.07034288   31.00000000
## 122            NA            NA    1.00000000
## 123   11.38979515  203.29502639   24.00000000
## 124   -2.75000000  136.47160877    2.00000000
## 125   -1.02168717   90.69500976   19.00000000
## 126            NA            NA    1.00000000
## 127   -2.75000000   31.81980515    2.00000000
## 128    0.73523672  137.11701558   65.00000000
## 129            NA            NA    1.00000000
## 130            NA            NA    1.00000000
## 131   -1.16647665  212.14000895   23.00000000
## 132   -1.76175032  162.57200114   10.00000000
## 133   -1.97465099  255.46526183    5.00000000
## 134   -0.11053158  389.34448318  396.00000000
## 135   -2.33333333  287.46014216    3.00000000
## 136    0.41190859  359.03178419   57.00000000
## 137   -2.75000000  111.72287143    2.00000000
## 138            NA            NA    1.00000000
## 139            NA            NA    1.00000000
## 140    5.25827906  279.54412555   19.00000000
## 141            NA            NA    1.00000000
## 142   -2.75000000    7.07106781    2.00000000
## 143    1.40195552  162.84713585   29.00000000
## 144            NA            NA    1.00000000
## 145   25.00513680  172.06507993   69.00000000
## 146            NA            NA    1.00000000
## 147            NA            NA    1.00000000
## 148            NA            NA    1.00000000
## 149            NA            NA    1.00000000
## 150    1.59697021  174.39147680   40.00000000
## 151            NA            NA    1.00000000
## 152   -1.14673938  125.03443970   10.00000000
## 153    0.67586795  195.30759060   14.00000000
## 154   -1.81659879  122.84814474    4.00000000
## 155   -1.57137118   60.28322044   15.00000000
## 156            NA            NA    1.00000000
## 157    0.60000708   66.78427611   43.00000000
## 158   -2.75000000   67.17514421    2.00000000
## 159            NA            NA    1.00000000
## 160   -2.16559140  108.38204033    6.00000000
## 161    0.01153624  167.09877319   13.00000000
## 162            NA            NA    1.00000000
## 163   -1.51566226  147.64823060    6.00000000
## 164   -2.33333333  124.10882322    3.00000000
## 165            NA            NA    1.00000000
## 166   -2.75000000   14.14213562    2.00000000
## 167   10.05900862  272.41849526   31.00000000
## 168   -2.33333333   28.86751346    3.00000000
## 169   -2.33333333  246.93116450    3.00000000
## 170    2.55953915  305.91935751   34.00000000
## 171            NA            NA    1.00000000
## 172   -2.33333333  217.15509051    3.00000000
## 173            NA            NA    1.00000000
## 174            NA            NA    1.00000000
## 175   -2.75000000   77.78174593    2.00000000
## 176   -2.75000000  148.49242405    2.00000000
## 177   -1.86054657  147.91889670    5.00000000
## 178   -1.96519679   40.41451884    4.00000000
## 179   -0.75412709  528.83283433    6.00000000
## 180    6.79343241   79.97390066  837.00000000
## 181            NA            NA    1.00000000
## 182            NA            NA    1.00000000
## 183   -2.75000000  222.73863607    2.00000000
## 184    3.69258293  374.80668426   60.00000000

Zona Oriente: Los indicadores de dispersión NA denotan datos únicos, lo cual puede deberse a discrepancias en la escritura del mismo barrio u observaciones únicas.

#aggregate tendency and dispersion measures
precio.indicators.oriente <- aggregate(zonaoriente$preciom,
                                   by = list(zonaoriente$barrio),
                                   FUN = function(x) c(media = mean(x), mediana = median(x), asimetria = skewness(x), curtosis = kurtosis(x), desv.std = sd(x), muestra = length(x)))
precio.indicators.oriente
##                          Group.1       x.media     x.mediana   x.asimetria
## 1                    20 de julio  306.66666667  320.00000000   -0.24228680
## 2                  alfonso lopez  220.00000000  220.00000000            NA
## 3                  alfonso lópez  208.10000000  180.00000000    0.65833862
## 4                 antonio nariño  240.00000000  240.00000000            NA
## 5  arboleda campestre candelaria  130.00000000  130.00000000            NA
## 6              atanasio girardot  272.50000000  295.00000000   -0.62194643
## 7                  autopista sur  370.00000000  370.00000000            NA
## 8             barrio el recuerdo  750.00000000  750.00000000            NA
## 9               benjamín herrera  232.66666667  198.00000000    0.33892766
## 10                        boyacá  330.00000000  330.00000000            NA
## 11                     chapinero  230.00000000  230.00000000    0.00000000
## 12                ciudad cordoba  236.40000000  230.00000000    0.65750873
## 13                ciudad córdoba  155.00000000  155.00000000            NA
## 14                 ciudad modelo  229.50000000  227.50000000    0.04247790
## 15                ciudad talanga  110.00000000  110.00000000            NA
## 16                   el diamante  270.00000000  270.00000000            NA
## 17                     el jardín  334.37500000  315.00000000    0.27394689
## 18                    el paraíso  235.00000000  235.00000000            NA
## 19                      el prado  240.00000000  240.00000000            NA
## 20                    el trébol  227.50000000  227.50000000    0.00000000
## 21                    el troncal  315.00000000  282.50000000    1.24133372
## 22                    el vallado  140.00000000  140.00000000            NA
## 23               fenalco kennedy  240.00000000  240.00000000            NA
## 24                       la base  294.71428571  255.00000000    0.55596956
## 25                     la ceibas  290.00000000  290.00000000            NA
## 26                   la floresta  290.00000000  265.00000000    0.21435239
## 27                  la fortaleza  305.00000000  320.00000000   -0.17381158
## 28              la gran colombia  160.00000000  160.00000000            NA
## 29              la independencia  325.71428571  280.00000000    0.98534102
## 30                 la nueva base  247.50000000  247.50000000    0.00000000
## 31                  la primavera  210.00000000  210.00000000            NA
## 32                   la rivera i  220.00000000  220.00000000            NA
## 33                 las américas  225.00000000  225.00000000            NA
## 34                    las ceibas  216.07692308  165.00000000    0.45384813
## 35                 los guaduales   90.00000000   90.00000000            NA
## 36          morichal de comfandi  250.00000000  250.00000000            NA
## 37                     municipal  195.00000000  195.00000000            NA
## 38                nueva floresta  247.40000000  255.00000000   -0.60439162
## 39                         pance 1350.00000000 1350.00000000            NA
## 40             prados de oriente  192.25000000  149.50000000    0.48435346
## 41            quintas de salomia  146.66666667  155.00000000   -0.35491044
## 42            rafael uribe uribe  370.00000000  370.00000000            NA
## 43              saavedra galindo  260.00000000  260.00000000            NA
## 44                    san carlos  254.50000000  254.50000000    0.00000000
## 45                 santa bárbara  350.00000000  350.00000000            NA
## 46                      santa fe  202.00000000  150.00000000    0.38490018
## 47          santa mónica popular  238.50000000  238.50000000    0.00000000
## 48               siete de agosto  215.71428571  195.00000000    0.29223477
## 49                 simón bolivar  140.00000000  140.00000000            NA
## 50             unión de vivienda   78.00000000   78.00000000            NA
## 51           urbanización boyacá  310.00000000  310.00000000            NA
## 52         urbanización la nueva  370.00000000  370.00000000            NA
## 53                  valle grande  240.00000000  240.00000000            NA
## 54                villa colombia  310.00000000  320.00000000   -0.53168958
## 55                villa del lago   93.00000000   93.00000000            NA
## 56                 villa del sur  255.00000000  255.00000000    0.00000000
## 57                  zona oriente  277.41666667  262.50000000    0.08871686
##       x.curtosis    x.desv.std     x.muestra
## 1    -2.33333333   51.31601439    3.00000000
## 2             NA            NA    1.00000000
## 3    -0.98494405  114.14751664   10.00000000
## 4             NA            NA    1.00000000
## 5             NA            NA    1.00000000
## 6    -1.79133991   56.78908346    4.00000000
## 7             NA            NA    1.00000000
## 8             NA            NA    1.00000000
## 9    -2.33333333   85.44783984    3.00000000
## 10            NA            NA    1.00000000
## 11   -2.75000000    7.07106781    2.00000000
## 12   -1.38312573  121.37668639    5.00000000
## 13            NA            NA    1.00000000
## 14   -1.94986891   98.51057473    4.00000000
## 15            NA            NA    1.00000000
## 16            NA            NA    1.00000000
## 17   -1.74712429  119.62553179    8.00000000
## 18            NA            NA    1.00000000
## 19            NA            NA    1.00000000
## 20   -2.75000000   10.60660172    2.00000000
## 21    0.41063888  170.69186942    8.00000000
## 22            NA            NA    1.00000000
## 23            NA            NA    1.00000000
## 24   -1.27082556  171.81551568    7.00000000
## 25            NA            NA    1.00000000
## 26   -1.83562963   77.29812417    7.00000000
## 27   -2.33333333   83.51646544    3.00000000
## 28            NA            NA    1.00000000
## 29   -0.60181736   87.29397514    7.00000000
## 30   -2.75000000   17.67766953    2.00000000
## 31            NA            NA    1.00000000
## 32            NA            NA    1.00000000
## 33            NA            NA    1.00000000
## 34   -1.60047044  120.47369114   13.00000000
## 35            NA            NA    1.00000000
## 36            NA            NA    1.00000000
## 37            NA            NA    1.00000000
## 38   -1.41087107   83.71857619    5.00000000
## 39            NA            NA    1.00000000
## 40   -1.91709874  134.73523419    4.00000000
## 41   -2.33333333   18.92969449    3.00000000
## 42            NA            NA    1.00000000
## 43            NA            NA    1.00000000
## 44   -2.75000000   48.79036790    2.00000000
## 45            NA            NA    1.00000000
## 46   -2.33333333   90.06664199    3.00000000
## 47   -2.75000000    2.12132034    2.00000000
## 48   -1.39110262   67.48015581    7.00000000
## 49            NA            NA    1.00000000
## 50            NA            NA    1.00000000
## 51            NA            NA    1.00000000
## 52            NA            NA    1.00000000
## 53            NA            NA    1.00000000
## 54   -1.78751105   38.51406669    4.00000000
## 55            NA            NA    1.00000000
## 56   -2.75000000  148.49242405    2.00000000
## 57   -1.33514901   79.48751570   12.00000000

Zona Oriente: Los indicadores de dispersión NA denotan datos únicos, lo cual puede deberse a discrepancias en la escritura del mismo barrio u observaciones únicas.

#aggregate tendency and dispersion measures
precio.indicators.oeste <- aggregate(zonaoeste$preciom,
                                       by = list(zonaoeste$barrio),
                                       FUN = function(x) c(media = mean(x), mediana = median(x), asimetria = skewness(x), curtosis = kurtosis(x), desv.std = sd(x), muestra = length(x)))
precio.indicators.oeste
##                     Group.1       x.media     x.mediana   x.asimetria
## 1                 aguacatal  768.90588235  870.00000000   -0.05114904
## 2        altos de guadalupe  570.00000000  570.00000000            NA
## 3            altos de santa  500.00000000  500.00000000            NA
## 4                  arboleda 1133.33333333 1300.00000000   -0.23462931
## 5                 arboledas  718.21621622  640.00000000    1.37979961
## 6            bajo aguacatal  430.00000000  430.00000000            NA
## 7               bella suiza  442.38461538  291.00000000    1.47135668
## 8          bella suiza alta  405.00000000  405.00000000    0.00000000
## 9                bellavista  588.35000000  585.00000000    1.02804103
## 10      bosques de alboleda  750.00000000  750.00000000            NA
## 11               centenario  310.00000000  320.00000000   -0.07351818
## 12          cerro cristales  434.19047619  370.00000000    0.66430516
## 13                cristales  621.86075949  460.00000000    1.44086213
## 14                 el peñon  513.27777778  390.00000000    1.67838279
## 15           guadalupe alto  308.00000000  308.00000000            NA
## 16                juanamb√∫  749.77777778  750.00000000    0.31785445
## 17                 juanambu  520.00000000  520.00000000            NA
## 18              la arboleda  917.64705882  750.00000000    0.89184570
## 19            los cristales  581.70270270  480.00000000    1.77693388
## 20       los cristales club  494.00000000  494.00000000            NA
## 21         los libertadores  355.00000000  355.00000000    0.00000000
## 22                 mamellan  650.00000000  650.00000000            NA
## 23                meléndez   89.00000000   89.00000000            NA
## 24               miraflores  549.45000000  395.00000000    0.97845873
## 25               Miraflores  395.00000000  395.00000000            NA
## 26                normandia 1016.00000000 1300.00000000   -0.29980022
## 27                normandía  782.38311688  621.00000000    0.69902574
## 28     normandía west point  595.00000000  595.00000000            NA
## 29                primavera  135.00000000  135.00000000            NA
## 30                  refugio  155.00000000  155.00000000            NA
## 31              san antonio  752.25000000  624.50000000    1.51580931
## 32             san cayetano  495.60000000  430.00000000    0.65791301
## 33             san fernando  385.00000000  385.00000000    0.00000000
## 34       san fernando viejo  421.00000000  421.00000000            NA
## 35                    santa 1950.00000000 1950.00000000            NA
## 36            santa bárbara  440.00000000  440.00000000            NA
## 37             santa isabel  434.00000000  385.00000000    1.05745642
## 38             Santa Isabel  430.00000000  430.00000000            NA
## 39 santa mónica residencial  758.25000000  750.00000000    0.02771920
## 40               santa rita  933.54545455  880.00000000    0.38452938
## 41           santa teresita  858.25925926  750.00000000    0.61415053
## 42           Santa Teresita  680.00000000  680.00000000            NA
## 43                seminario  340.00000000  340.00000000            NA
## 44     sierras de normandía  270.00000000  270.00000000            NA
## 45        tejares cristales  810.00000000  685.00000000    0.47002546
## 46           tejares de san  655.10000000  696.00000000    0.65741941
## 47               zona oeste  473.70833333  417.50000000    0.85062497
##       x.curtosis    x.desv.std     x.muestra
## 1    -0.44866802  430.01042688   85.00000000
## 2             NA            NA    1.00000000
## 3             NA            NA    1.00000000
## 4    -2.33333333  665.83281185    3.00000000
## 5     1.83402356  292.34560361   37.00000000
## 6             NA            NA    1.00000000
## 7     0.54603648  347.70402607   13.00000000
## 8    -2.75000000  106.06601718    2.00000000
## 9     1.00321526  255.09249705   40.00000000
## 10            NA            NA    1.00000000
## 11   -2.33333333  135.27749258    3.00000000
## 12   -1.05903924  126.08037875   21.00000000
## 13    1.25328438  340.48798820   79.00000000
## 14    2.38894143  275.40655482   54.00000000
## 15            NA            NA    1.00000000
## 16   -1.09713642  197.64980254    9.00000000
## 17            NA            NA    1.00000000
## 18   -0.62830753  433.68377609   17.00000000
## 19    3.47953522  287.15388416  148.00000000
## 20            NA            NA    1.00000000
## 21   -2.75000000   21.21320344    2.00000000
## 22            NA            NA    1.00000000
## 23            NA            NA    1.00000000
## 24   -0.62451528  358.17306534   20.00000000
## 25            NA            NA    1.00000000
## 26   -2.14908198  536.21823915    5.00000000
## 27   -0.58814095  416.47647735  154.00000000
## 28            NA            NA    1.00000000
## 29            NA            NA    1.00000000
## 30            NA            NA    1.00000000
## 31    0.95899453  528.67914926    8.00000000
## 32   -1.45291087  249.05079803    5.00000000
## 33   -2.75000000   21.21320344    2.00000000
## 34            NA            NA    1.00000000
## 35            NA            NA    1.00000000
## 36            NA            NA    1.00000000
## 37    0.87653448  148.19464287   47.00000000
## 38            NA            NA    1.00000000
## 39   -2.30725525  319.75863293    4.00000000
## 40   -1.32080126  547.28001653   44.00000000
## 41   -0.32693909  374.23476007  243.00000000
## 42            NA            NA    1.00000000
## 43            NA            NA    1.00000000
## 44            NA            NA    1.00000000
## 45   -1.81211138  554.67708324    4.00000000
## 46    0.00810808  244.63507970   10.00000000
## 47   -0.49496588  304.37255192   24.00000000

Anexo A2: Código en R empleado para el análisis.

#calling packages and dataframe
library(paqueteMETODOS)
library(naniar)
library(dplyr)

data(vivienda_faltantes)
summarytools::descr(vivienda_faltantes)

##
#DATA PREPARATION
#Removing NA's for analysis
vivienda_faltantes.noNA <- vivienda_faltantes %>%
  filter(!is.na(id)) %>%            # Remove rows where 'id' column has NA values
  filter(!is.na(parquea)) %>%       # Remove rows where 'parquea' column has NA values
  select(-piso)                     # Drop 'piso' column (not using because 'habitac' contains very similar information and doesn't have NA's)

vivienda_faltantes.noNA

summarytools::descr(vivienda_faltantes.noNA)

gg_miss_var(vivienda_faltantes.noNA, main = "Datos faltantes en el data frame inicial") #missing data chart

#metadata and context of the variables of vivienda_faltantes.noNA
help(package = "paqueteMETODOS")
attributes(vivienda_faltantes.noNA)
summarytools::descr(vivienda_faltantes.noNA)

#cleaning tipo variable
vivienda_faltantes.noNA$tipo[vivienda_faltantes.noNA$tipo == "APARTAMENTO"] <- "Apartamento"
vivienda_faltantes.noNA$tipo[vivienda_faltantes.noNA$tipo == "apto"] <- "Apartamento"
vivienda_faltantes.noNA$tipo[vivienda_faltantes.noNA$tipo == "casa"] <- "Casa"
vivienda_faltantes.noNA$tipo[vivienda_faltantes.noNA$tipo == "CASA"] <- "Casa"


##
#filtering the data frame by zona and estrato

#zona centro
zonacentro.estr3 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Centro' & vivienda_faltantes.noNA$estrato == 3)
zonacentro.estr4 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Centro' & vivienda_faltantes.noNA$estrato == 4)
zonacentro.estr5 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Centro' & vivienda_faltantes.noNA$estrato == 5)
zonacentro.estr6 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Centro' & vivienda_faltantes.noNA$estrato == 6)

#zona norte
zonanorte.estr3 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Norte' & vivienda_faltantes.noNA$estrato == 3)
zonanorte.estr4 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Norte' & vivienda_faltantes.noNA$estrato == 4)
zonanorte.estr5 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Norte' & vivienda_faltantes.noNA$estrato == 5)
zonanorte.estr6 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Norte' & vivienda_faltantes.noNA$estrato == 6)

#zona sur
zonasur.estr3 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Sur' & vivienda_faltantes.noNA$estrato == 3)
zonasur.estr4 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Sur' & vivienda_faltantes.noNA$estrato == 4)
zonasur.estr5 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Sur' & vivienda_faltantes.noNA$estrato == 5)
zonasur.estr6 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Sur' & vivienda_faltantes.noNA$estrato == 6)

#zona oriente
zonaoriente.estr3 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Oriente' & vivienda_faltantes.noNA$estrato == 3)
zonaoriente.estr4 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Oriente' & vivienda_faltantes.noNA$estrato == 4)
zonaoriente.estr5 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Oriente' & vivienda_faltantes.noNA$estrato == 5)
zonaoriente.estr6 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Oriente' & vivienda_faltantes.noNA$estrato == 6)

#zona oeste
zonaoeste.estr3 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Oeste' & vivienda_faltantes.noNA$estrato == 3)
zonaoeste.estr4 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Oeste' & vivienda_faltantes.noNA$estrato == 4)
zonaoeste.estr5 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Oeste' & vivienda_faltantes.noNA$estrato == 5)
zonaoeste.estr6 <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == 'Zona Oeste' & vivienda_faltantes.noNA$estrato == 6)

summarytools::descr(zonacentro.estr3)
summarytools::descr(zonanorte.estr3)
summarytools::descr(zonasur.estr3)
summarytools::descr(zonaoriente.estr3)
summarytools::descr(zonaoeste.estr3)

#graphics

#Price histograms Zona centro
# Set up a 2x2 plotting layout with outer margins
par(mfrow = c(2, 2), oma = c(1, 1, 0, 0))

# Define the main title
main_title <- "Distribución de precios de viviendas (millones de pesos) - Zona Centro"

# Create histograms for each dataset
hist(zonacentro.estr3$preciom, xlab = "",  main = "Estrato 3", col = "lightblue", freq = FALSE, breaks = "Sturges")
hist(zonacentro.estr4$preciom, xlab = "", main = "Estrato 4", col = "lightblue", freq = FALSE, breaks = "Sturges")
hist(zonacentro.estr5$preciom, xlab = "", main = "Estrato 5", col = "lightblue", freq = FALSE, breaks = "Sturges")

# Add main title above the entire plot
mtext(text = main_title, side = 3, line = -1.2, outer = TRUE, cex = 1)

#Price histograms Zona norte
# Set up a 2x2 plotting layout with outer margins
par(mfrow = c(2, 2), oma = c(1, 1, 0, 0))

# Define the main title
main_title <- "Distribución de precios de viviendas (millones de pesos) - Zona Norte"

# Create histograms for each dataset
hist(zonanorte.estr3$preciom, xlab = "",  main = "Estrato 3", col = "lightblue", freq = FALSE, breaks = "Sturges")
hist(zonanorte.estr4$preciom, xlab = "", main = "Estrato 4", col = "lightblue", freq = FALSE, breaks = "Sturges")
hist(zonanorte.estr5$preciom, xlab = "", main = "Estrato 5", col = "lightblue", freq = FALSE, breaks = "Sturges")
hist(zonanorte.estr6$preciom, xlab = "", main = "Estrato 6", col = "lightblue", freq = FALSE, breaks = "Sturges")

# Add main title above the entire plot
mtext(text = main_title, side = 3, line = -1.2, outer = TRUE, cex = 1)

#Price histograms Zona sur
# Set up a 2x2 plotting layout with outer margins
par(mfrow = c(2, 2), oma = c(1, 1, 0, 0))

# Define the main title
main_title <- "Distribución de precios de viviendas (millones de pesos) - Zona Sur"

# Create histograms for each dataset
hist(zonasur.estr3$preciom, xlab = "",  main = "Estrato 3", col = "lightblue", freq = FALSE, breaks = "Sturges")
hist(zonasur.estr4$preciom, xlab = "", main = "Estrato 4", col = "lightblue", freq = FALSE, breaks = "Sturges")
hist(zonasur.estr5$preciom, xlab = "", main = "Estrato 5", col = "lightblue", freq = FALSE, breaks = "Sturges")
hist(zonasur.estr6$preciom, xlab = "", main = "Estrato 6", col = "lightblue", freq = FALSE, breaks = "Sturges")

# Add main title above the entire plot
mtext(text = main_title, side = 3, line = -1.2, outer = TRUE, cex = 1)

#Price histograms Zona oriente

par(mfrow= c(1, 1)) 
# Define the main title
main_title <- "Distribución de precios de viviendas (millones de pesos) - Zona Oriente"

# Create histograms for each dataset
hist(zonaoriente.estr3$preciom, xlab = "",  main = "Estrato 3", col = "lightblue", freq = FALSE, breaks = "Sturges")

#Price histograms Zona oeste
# Set up a 2x2 plotting layout with outer margins
par(mfrow = c(2, 2), oma = c(1, 1, 0, 0))

# Define the main title
main_title <- "Distribución de precios de viviendas (millones de pesos) - Zona Oeste"

# Create histograms for each dataset
hist(zonaoeste.estr3$preciom, xlab = "",  main = "Estrato 3", col = "lightblue", freq = FALSE, breaks = "Sturges")
hist(zonaoeste.estr4$preciom, xlab = "", main = "Estrato 4", col = "lightblue", freq = FALSE, breaks = "Sturges")
hist(zonaoeste.estr5$preciom, xlab = "", main = "Estrato 5", col = "lightblue", freq = FALSE, breaks = "Sturges")
hist(zonaoeste.estr6$preciom, xlab = "", main = "Estrato 6", col = "lightblue", freq = FALSE, breaks = "Sturges")

# Add main title above the entire plot
mtext(text = main_title, side = 3, line = -1.2, outer = TRUE, cex = 1)

#Anexo, list of indicators for prices per barrio
#filter for Zona centro
zonacentro <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == "Zona Centro")
#aggregate tendency and dispersion measures
precio.indicators.centro <- aggregate(zonacentro$preciom,
                                      by = list(zonacentro$barrio),
                                      FUN = function(x) c(media = mean(x), mediana = median(x), asimetria = skewness(x), curtosis = kurtosis(x), desv.std = sd(x), muestra = length(x)))
precio.indicators.centro

#filter for Zona Norte
zonanorte <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == "Zona Norte")
#aggregate tendency and dispersion measures
precio.indicators.norte <- aggregate(zonanorte$preciom,
                                      by = list(zonanorte$barrio),
                                      FUN = function(x) c(media = mean(x), mediana = median(x), asimetria = skewness(x), curtosis = kurtosis(x), desv.std = sd(x), muestra = length(x)))
precio.indicators.norte

#filter for Zona Sur
zonasur <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == "Zona Sur")
#aggregate tendency and dispersion measures
precio.indicators.sur <- aggregate(zonasur$preciom,
                                     by = list(zonasur$barrio),
                                     FUN = function(x) c(media = mean(x), mediana = median(x), asimetria = skewness(x), curtosis = kurtosis(x), desv.std = sd(x), muestra = length(x)))
precio.indicators.sur

#filter for Zona Oriente
zonaoriente <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == "Zona Oriente")
#aggregate tendency and dispersion measures
precio.indicators.oriente <- aggregate(zonaoriente$preciom,
                                   by = list(zonaoriente$barrio),
                                   FUN = function(x) c(media = mean(x), mediana = median(x), asimetria = skewness(x), curtosis = kurtosis(x), desv.std = sd(x), muestra = length(x)))
precio.indicators.oriente

#filter for Zona Oeste
zonaoeste <- subset(vivienda_faltantes.noNA, vivienda_faltantes.noNA$zona == "Zona Oeste")
#aggregate tendency and dispersion measures
precio.indicators.oeste <- aggregate(zonaoeste$preciom,
                                       by = list(zonaoeste$barrio),
                                       FUN = function(x) c(media = mean(x), mediana = median(x), asimetria = skewness(x), curtosis = kurtosis(x), desv.std = sd(x), muestra = length(x)))
precio.indicators.oeste

#summary for prices across all Zonas
summarytools::descr(zonacentro$preciom)
summarytools::descr(zonanorte$preciom)
summarytools::descr(zonaoriente$preciom)
summarytools::descr(zonaoeste$preciom)
summarytools::descr(zonasur$preciom)

#Pie charts
#General: Casa vs Apartamento

# Calculate proportions for each tipo
prop_tipo <- prop.table(table(vivienda_faltantes.noNA$tipo))

# Plot pie chart
pie(prop_tipo,
    labels = paste(names(prop_tipo), ": ", round(prop_tipo * 100, 2), "%"), 
    main = "Casas vs Apartamentos (%)")

#Bar charts

#Zona Centro
conteo.centro <- table(zonacentro$tipo, zonacentro$estrato)

barplot(conteo.centro/length(zonacentro$estrato)*100,
        main = paste("Distribución de viviendas por estrato y tipo (%), Zona Centro", "(n=", length(zonacentro$id), ")"),
        xlab = "Estrato",
        col = c("#0d3b66","#f4d35e"),
        legend = rownames(conteo.centro),
        las = 1,
        names.arg = c("3", "4", "5"),
        ylim = c(0,100))

#Zona Norte
conteo.norte <- table(zonanorte$tipo, zonanorte$estrato)

barplot(conteo.norte/length(zonanorte$estrato)*100,
        main = paste("Distribución de viviendas por estrato y tipo (%), Zona Norte", "(n=", length(zonanorte$id), ")"),
        xlab = "Estrato",
        col = c("#0d3b66","#f4d35e"),
        legend = rownames(conteo.norte),
        las = 1,
        names.arg = c("3", "4", "5", "6"),
        ylim = c(0,60))

#Zona Sur
conteo.sur <- table(zonasur$tipo, zonasur$estrato)

barplot(conteo.sur/length(zonasur$estrato)*100,
        main = paste("Distribución de viviendas por estrato y tipo (%), Zona Sur", "(n=", length(zonasur$id), ")"),
        xlab = "Estrato",
        col = c("#0d3b66","#f4d35e"),
        legend = rownames(conteo.sur),
        las = 1,
        names.arg = c("3", "4", "5", "6"),
        ylim = c(0,45))

#Zona Oriente
conteo.oriente <- table(zonaoriente$tipo, zonaoriente$estrato)

barplot(conteo.oriente/length(zonaoriente$estrato)*100,
        main = paste("Distribución de viviendas por estrato y tipo (%), Zona Oriente", "(n=", length(zonaoriente$id), ")"),
        xlab = "Estrato",
        col = c("#0d3b66","#f4d35e"),
        legend = rownames(conteo.oriente),
        las = 1,
        names.arg = c("3", "4", "5", "6"),
        ylim = c(0,100))

#Zona Oeste
conteo.oeste <- table(zonaoeste$tipo, zonaoeste$estrato)

barplot(conteo.oeste/length(zonaoeste$estrato)*100,
        main = paste("Distribución de viviendas por estrato y tipo (%), Zona Oeste", "(n=", length(zonaoeste$id), ")"),
        xlab = "Estrato",
        col = c("#0d3b66","#f4d35e"),
        legend = rownames(conteo.oeste),
        las = 1,
        names.arg = c("3", "4", "5", "6"),
        args.legend = list(x = "topleft", inset = c(0.2, 0)),
        ylim = c(0,80))

#Frequency tables

#Zona Centro
#areaconst
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonacentro$areaconst)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonacentro$areaconst, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.areaconst <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.areaconst)

#parquea
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonacentro$parquea)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonacentro$parquea, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.parquea <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.parquea)

#banios
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonacentro$banios)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonacentro$banios, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.banios <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.banios)

#habitac
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonacentro$habitac)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonacentro$habitac, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.habitac <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.habitac)

#Zona Norte
#areaconst
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonanorte$areaconst)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonanorte$areaconst, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.areaconst <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.areaconst)

#parquea
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonanorte$parquea)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonanorte$parquea, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.parquea <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.parquea)

#banios
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonanorte$banios)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonanorte$banios, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.banios <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.banios)

#habitac
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonanorte$habitac)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonanorte$habitac, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.habitac <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.habitac)

#Zona Sur
#areaconst
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonasur$areaconst)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonasur$areaconst, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.areaconst <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.areaconst)

#parquea
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonasur$parquea)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonasur$parquea, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.parquea <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.parquea)

#banios
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonasur$banios)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonasur$banios, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.banios <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.banios)

#habitac
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonasur$habitac)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonasur$habitac, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.habitac <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.habitac)

#Zona Oriente
#areaconst
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonaoriente$areaconst)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonaoriente$areaconst, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.areaconst <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.areaconst)

#parquea
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonaoriente$parquea)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonaoriente$parquea, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.parquea <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.parquea)

#banios
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonaoriente$banios)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonaoriente$banios, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.banios <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.banios)

#habitac
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonaoriente$habitac)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonaoriente$habitac, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.habitac <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.habitac)

#Zona Oeste
#areaconst
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonaoeste$areaconst)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonaoeste$areaconst, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.areaconst <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.areaconst)

#parquea
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonaoeste$parquea)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonaoeste$parquea, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.parquea <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.parquea)

#banios
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonaoeste$banios)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonaoeste$banios, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.banios <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.banios)

#habitac
# Determine the number of breaks using Sturges' rule
num_breaks <- ceiling(log2(length(zonaoeste$habitac)) + 1)
# Create intervals using Sturges' rule
area_intervals <- cut(zonaoeste$habitac, breaks = num_breaks)
# Create frequency table
freq_table <- table(area_intervals)
# View the frequency table
print(freq_table)
# Calculate total number of observations
total_obs <- sum(freq_table)
# Calculate relative frequencies
relative_freq <- freq_table / total_obs
# Combine frequency table and relative frequencies into a data frame
result_df.habitac <- data.frame(Frequency = freq_table, Relative_Frequency = relative_freq) %>%
  select(-Relative_Frequency.area_intervals)

View(result_df.habitac)