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.
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.
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.
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.
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:
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
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).
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.
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
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
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
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
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
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.
A continuación, se presentan la conclusiones de mayor relevancia respecto al informe provisto.
En general, se logró proveer una buena descripción del comportamiento inmobiliario de la ciudad de Cali en función del data frame utilizado, obteniendo caracterizaciones espaciales respecto a tipos de viviendas y sus niveles de precios.
Si bien la caracterización obtenida muestra patrones estables, algunas zonas presentaron muy pocas observaciones y comportamientos bastante sesgados hacia patrones poco regulares, po lo cual se sugiere un análisis extendido bajo fuentes complementarias para su profundización, si es que éste es del interés de la empresa.
De cara a ventas y arrendamientos, la mejor información pudo hallarse en las zonas Sur y Oeste, las cuales determinaron nichos de mercado con tipos y características de alta especificidad para las viviendas.
Existen casos de alta volatilidad en los precios de las viviendas, en términos descriptivos esto puede analizarse a profundidad con el anexo A1 como insumo, el cual extiende el análisis realizado al segmentar por cada barrio de la muestra. Lo anterior representa una herramienta descriptiva para el desarrollo de estrategias de la empresa con grados de personalización para distintos tipos de clientes, pudiéndose complementar con la información de geolocalización que posee el data frame.
Debe hacerse énfasis en que el análisis descriptivo sólo es el primer paso en la metodología estadística, de cara a la toma de decisiones óptimas por parte de la empresa, es imprescindible corroborar las conclusiones obtenidas a través de estimadores robustos de las variables de interés.
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
#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)