En este documento se presenta un análisis estadístico descriptivo, con un enfoque exploratorio, del mercado inmobiliario de la ciudad de Cali. El principal objetivo de este informe es la exploración sin restricciones de la base de datos generada a partir de una encuesta a los habitantes de las viviendas. Las conclusiones entregadas al final solo se aplican a los elementos y a las circunstancias para los cuales se obtuvieron los datos. Se queda a absoluta disposición de las directivas de la empresa B&C BINES Y CASAS y de su Gerente, Ingeniera Sandra Milena para ampliar, aclarar o profundizar cualquier duda o inquitud que consideren necesaria y esté relacionada con las apreciaciones que a continuación se detallan.
Se elaboran tablas de frecuencias absolutas y relativas, para comprender la estructura y tipo de datos disponibles, para las variables cuantitativas se incluyen resumenes estadísticos básicos y se cruzan con otras variables para detectar tendencias interesantes. Las variables categóricas que se toman como referencia son ZONA, ESTRATO y TIPO DE VIVIENDA, las diferentes categorías que componen a estas variables se cruzan con las medias de PRECIO POR METRO CUADRADO en miles de pesos y AREA CONSTRUIDA POR VIVIENDA en metros cuadrados.
El principal objetivo de este trabajo es realizar un análisis estadístico descriptivo del mercado inmobiliario de la ciudad de Cali. lo anterior se desarrolla a partir de la base de datos entregada, se acalara que las observaciones, tendencias y conlusiones generadas solo se aplican para la muestra de datos y, en ningún caso, se prentede hacer generalizaciones para todo el mercado.Así, se intenta responder a preguntas relacionadas con cantidades, lugares y algunas características que se puedan reconocer fácilmente de la tabulación y graficación de las variables y de cruces simples entre estas. Para lograrlo, con el apoyo del software estadístico RStudio se realiza una depuración y limpieza de la base de datos para minimizar los registros faltantes o pérdidos y de esta froma darle mayor sentido a la interpretación.
Se carga la base de datos.
devtools::install_github("dgonxalex80/paqueteMETODOS")
library(paqueteMET)
library(dplyr)
data(vivienda_faltantes)
data=vivienda_faltantes
glimpse(data)
## Rows: 8,330
## Columns: 13
## $ id <dbl> 8312, 8311, 8307, 8296, 8297, 8298, 8299, 8300, 8286, 8287, …
## $ zona <chr> "Zona Oeste", "Zona Oeste", "Zona Oeste", "Zona Sur", "Zona …
## $ piso <dbl> 4, 1, NA, 2, NA, NA, 2, NA, NA, 2, 1, NA, 6, NA, 2, 8, NA, 6…
## $ estrato <dbl> 6, 6, 5, 3, 5, 5, 6, 5, 5, 5, 5, 3, 6, 3, 5, 6, 5, 6, 6, 6, …
## $ preciom <dbl> 1300, 480, 1200, 220, 330, 1350, 305, 480, 275, 285, 310, 17…
## $ areaconst <dbl> 318, 300, 800, 150, 112, 390, 125, 280, 74, 120, 166, 155, 1…
## $ parquea <dbl> 2, 1, 4, 1, 2, 8, 2, 4, 1, 2, 2, NA, 2, NA, 1, 2, 2, 2, 4, 1…
## $ banios <dbl> 4, 4, 7, 2, 4, 10, 3, 4, 2, 4, 4, 4, 3, 2, 2, 3, 3, 5, 7, 1,…
## $ habitac <dbl> 2, 4, 5, 4, 3, 10, 3, 4, 3, 3, 3, 6, 3, 3, 2, 4, 3, 4, 3, 2,…
## $ tipo <chr> "Apartamento", "Casa", "Casa", "Casa", "Casa", "Casa", "Apar…
## $ barrio <chr> "arboleda", "normandía", "miraflores", "el guabal", "bella s…
## $ longitud <dbl> -76576, -76571, -76568, -76565, -76565, -76565, -76565, -765…
## $ latitud <dbl> 3454.00000, 3454.00000, 3455.00000, 3417.00000, 3408.00000, …
La base de datos consta de 13 variables y tiene 8.330 registros. Se trabaja con las variables cuantitativas PRECIO/M2 (preciom) y AREA CONSTRUIDA (areacons) y las variables cualitativas ZONA, ESTRATO, NUMERO DE PARQUEADEROS, NUMERO DE HABITACIONES y TIPO, se deja ID como identificador único de cada registro. Por no estar lo suficientemente estandarizada no se utiliza la variable barrio; por no tener como objetivo un análisis espacial tampoco se utilizan las variables longitud y latitud; se observa que la variable NUMERO DE PISOS es confusa porque los encuestados pueden responder de acuerdo a la torre en la que vivan, razón por la cual tampoco se incluiye. Sin entrar en análisis estadísticos complejos, en estudios previos se ha observado una alta correlación entre el NÚMERO DE BAÑOS y el NUMERO DE HABITACIONES, por esto se decide escoger sólo esta última variable.
Ahora se transforma las variables ESTRATO, NUMERO DE PARQUEADEROS y NÚMERO DE HABITACIONES a variables cualitativas porque están como numéricas pero para este análisis descriptivo se interpretan como variables categóricas.
data$estrato <- as.factor(data$estrato)
data$parquea <- as.factor(data$parquea)
data$habitac <- as.factor(data$habitac)
Se genera un nuevo dataframe descartando las variables: NUMERO DE PISOS, NUMERO DE BAÑOS, BARRIO, LINGITUD y LATITUD porque no se van a utilizar para el presente análisis descriptivo.
data1 <- data[, -c(3, 8, 11, 12, 13)]
glimpse(data1)
## Rows: 8,330
## Columns: 8
## $ id <dbl> 8312, 8311, 8307, 8296, 8297, 8298, 8299, 8300, 8286, 8287, …
## $ zona <chr> "Zona Oeste", "Zona Oeste", "Zona Oeste", "Zona Sur", "Zona …
## $ estrato <fct> 6, 6, 5, 3, 5, 5, 6, 5, 5, 5, 5, 3, 6, 3, 5, 6, 5, 6, 6, 6, …
## $ preciom <dbl> 1300, 480, 1200, 220, 330, 1350, 305, 480, 275, 285, 310, 17…
## $ areaconst <dbl> 318, 300, 800, 150, 112, 390, 125, 280, 74, 120, 166, 155, 1…
## $ parquea <fct> 2, 1, 4, 1, 2, 8, 2, 4, 1, 2, 2, NA, 2, NA, 1, 2, 2, 2, 4, 1…
## $ habitac <fct> 2, 4, 5, 4, 3, 10, 3, 4, 3, 3, 3, 6, 3, 3, 2, 4, 3, 4, 3, 2,…
## $ tipo <chr> "Apartamento", "Casa", "Casa", "Casa", "Casa", "Casa", "Apar…
Se explora cada una de las variables a utilizar, menos ID que se utilizará como la identificación de cada registro.Tabla de frecuencias de las variables cualitativas y resumen estadístico y tabla de frecuencias de las variables cuantitativas.
table(data1$zona, useNA="always")
##
## Zona Centro Zona Norte Zona Oeste Zona Oriente Zona Sur <NA>
## 124 1922 1204 351 4726 3
table(data1$estrato, useNA="always")
##
## 3 4 5 6 <NA>
## 1453 2131 2751 1992 3
table(data1$parquea, useNA="always")
##
## 1 2 3 4 5 6 7 8 9 10 <NA>
## 3156 2478 521 386 68 68 18 17 4 8 1606
table(data1$habitac, useNA="always")
##
## 0 1 2 3 4 5 6 7 8 9 10 <NA>
## 66 59 927 4101 1731 680 318 173 138 83 51 3
table(data1$tipo, useNA="always")
##
## Apartamento APARTAMENTO apto casa Casa CASA
## 5032 61 13 14 3195 12
## <NA>
## 3
Como se observa en las anteriores tablas, tanto en las variables cualitativas como en las cuantitativas hay datos faltantes identificados como NA. En orden descendente las variables categóricas con mayores registros faltantes son: NUMERO DE PARQUEADEROS - 1606, las variables ZONA, ESTRATO y NUMERO DE HABITACIONES tienen 3 registros faltantes cada una y en ID hay 2 registros faltantes. La variable PRECIO/M2 tiene 3 registros faltantes y AREA CONSTRUIDA 2 NA.Es curioso que la base ded datos no contenga registros de viviendas en los estratos 1 y 2, sería iinteresante confirmar si intencionalmente no se tuvieron en cuenta.
summary(data1$preciom)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 58.0 220.0 330.0 434.2 540.0 1999.0 2
breaks=c(0, 500, 1000, 1500, 2000)
preciom2=cut(data1$preciom, breaks)
summarytools::freq(preciom2)
## Frequencies
## preciom2
## Type: Factor
##
## Freq % Valid % Valid Cum. % Total % Total Cum.
## --------------------- ------ --------- -------------- --------- --------------
## (0,500] 6064 72.815 72.815 72.797 72.797
## (500,1e+03] 1708 20.509 93.324 20.504 93.301
## (1e+03,1.5e+03] 423 5.079 98.403 5.078 98.379
## (1.5e+03,2e+03] 133 1.597 100.000 1.597 99.976
## <NA> 2 0.024 100.000
## Total 8330 100.000 100.000 100.000 100.000
summary(data1$areaconst)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 30 80 123 175 229 1745 3
breaks=c(0, 300, 600, 900, 1200, 1500, 1800)
area2=cut(data1$areaconst, breaks)
summarytools::freq(area2)
## Frequencies
## area2
## Type: Factor
##
## Freq % Valid % Valid Cum. % Total % Total Cum.
## ----------------------- ------ --------- -------------- --------- --------------
## (0,300] 7157 85.949 85.949 85.918 85.918
## (300,600] 1040 12.489 98.439 12.485 98.403
## (600,900] 97 1.165 99.604 1.164 99.568
## (900,1.2e+03] 25 0.300 99.904 0.300 99.868
## (1.2e+03,1.5e+03] 5 0.060 99.964 0.060 99.928
## (1.5e+03,1.8e+03] 3 0.036 100.000 0.036 99.964
## <NA> 3 0.036 100.000
## Total 8330 100.000 100.000 100.000 100.000
Aunque se encuentran registros hasta de 2 millones de pesos por metro cuadrado, el 93% de los precios está por debajo del millón de pesos y el 75% identificado por el cuartil 3 están por debajo de 580 mil pesos. Lo mismo sucede con el área construida de las viviendas, se encuentran registros con áreas muy grandes pero el 85% de los registros presentan áreas construidas de menos de 300 metros cuadrados.
#install.packages("mice")
require(mice)
library(mice)
md.pattern(data1)
## preciom id zona estrato areaconst habitac tipo parquea
## 6724 1 1 1 1 1 1 1 1 0
## 1603 1 1 1 1 1 1 1 0 1
## 1 1 0 0 0 0 0 0 0 7
## 2 0 0 0 0 0 0 0 0 8
## 2 3 3 3 3 3 3 1606 1626
Para este análisis descriptivo, los 66 registros que presentan cero NUMERO DE HABITACIONES se entienden como apartaestudios tipo loft, es decir un solo ambiente.
Es conveniente estandarizar los registros de la variable TIPO DE VIVIENDA dejando solo 2: Apto y Casa.
data1$tipo[data1$tipo=="Apartamento"] <- "Apto"
data1$tipo[data1$tipo=="APARTAMENTO"] <- "Apto"
data1$tipo[data1$tipo=="apto"] <- "Apto"
data1$tipo[data1$tipo=="casa"] <- "Casa"
data1$tipo[data1$tipo=="CASA"] <- "Casa"
table(data1$tipo, useNA="always")
##
## Apto Casa <NA>
## 5106 3221 3
Para mejorar el orden y la visualización se agrupan los registros de 6, 7, 8, 9 y 10 del NUMERO DE PARQUEADEROS en “Mayor6P”. De igual forma, se agrupan los registros de 6, 7, 8, 9 y 10 del NUMERO DE HABITACIONES en “Mayor6H” y se transforman los registros de cero NUMERO DE HABITACIONES en “AELoft”.
data1$parquea[data1$parquea==7] <- 6
data1$parquea[data1$parquea==8] <- 6
data1$parquea[data1$parquea==9] <- 6
data1$parquea[data1$parquea==10] <- 6
table(data1$parquea, useNA="always")
##
## 1 2 3 4 5 6 7 8 9 10 <NA>
## 3156 2478 521 386 68 115 0 0 0 0 1606
data1$habitac[data1$habitac==7] <- 6
data1$habitac[data1$habitac==8] <- 6
data1$habitac[data1$habitac==9] <- 6
data1$habitac[data1$habitac==10] <- 6
table(data1$habitac, useNA="always")
##
## 0 1 2 3 4 5 6 7 8 9 10 <NA>
## 66 59 927 4101 1731 680 763 0 0 0 0 3
La base de datos del mercado inmobiliario de Cali, para las variables de interés que se aplican para el análisis descriptivo, está completa para 6724 registros. Entonces, las variables a incluir son: ID como identificador único de cada observación; ZONA, ESTRATO, NUMERO DE HABITACIONES, TIPO DE VIVIENDA y NUMERO DE PARQUEADEROS como variables cualitativas; y PRECIO/M2 y AREA CONSTRUIDA como variables cuantitativas. Se decide no realizar ningún proceso de imputación de los datos faltantes por no contar con la claridad suficiente en la recolección de datos. Por ejemplo, los encuestados pueden dejar vacía la respuesta en NUMERO DE PARQUEADEROS si su vivienda no dispone de parqueaderos o podría responder como 0 o como NA.
Inicialmente se pensó en incluir las variables NUMERO DE PISOS y NUMERO DE BAÑOS, pero por encontrar inconsistencias en la respuesta en cuanto a los pisos, una persona fácilmente puede confundirse al pensar en la respuesta de acuerdo a la altura de la torre en la que esté su apartamento. Como se mencicnó, de acuerdo a estudios anteriores el NUMERO DE BAÑOS está muy correlacionado con el NUMERO DE HABITACIONES. Al descartar el NUMERO DE PISOS se aumenta considerablemente la base de datos completa ya que dicha variable presenta 2641 datos faltantantes.
Así, el tamaño de la base de datos es de 8 variables por 6724 registros completos, si se incluyera el NUMERO DE PISOS solo se contaría con 4805 registros completos. Se considera el tamaño de la base de datos de 6724 registros adecuado para realizar un análisis estadístico descriptivo con enfoque exploratorio.
data2 <- na.omit(data1)
glimpse(data2)
## Rows: 6,724
## Columns: 8
## $ id <dbl> 8312, 8311, 8307, 8296, 8297, 8298, 8299, 8300, 8286, 8287, …
## $ zona <chr> "Zona Oeste", "Zona Oeste", "Zona Oeste", "Zona Sur", "Zona …
## $ estrato <fct> 6, 6, 5, 3, 5, 5, 6, 5, 5, 5, 5, 6, 5, 6, 5, 6, 6, 6, 6, 3, …
## $ preciom <dbl> 1300, 480, 1200, 220, 330, 1350, 305, 480, 275, 285, 310, 64…
## $ areaconst <dbl> 318, 300, 800, 150, 112, 390, 125, 280, 74, 120, 166, 157, 9…
## $ parquea <fct> 2, 1, 4, 1, 2, 6, 2, 4, 1, 2, 2, 2, 1, 2, 2, 2, 4, 1, 2, 1, …
## $ habitac <fct> 2, 4, 5, 4, 3, 6, 3, 4, 3, 3, 3, 3, 2, 4, 3, 4, 3, 2, 3, 3, …
## $ tipo <chr> "Apto", "Casa", "Casa", "Casa", "Casa", "Casa", "Apto", "Apt…
Además de las tablas presentadas en el numeral anterior, a continuación se resume los datos tomando como variables principales la ZONA, el ESTRATO y el TIPO, también se cruza dichas variables con los otros campos disponibles para detectar tendencias y hechos de interés para la toma de decisiones.
summarytools::freq(data2$zona, style="rmarkdown", report.nas=FALSE)
## ### Frequencies
## #### data2$zona
## **Type:** Character
##
## | | Freq | % | % Cum. |
## |-----------------:|-----:|-------:|-------:|
## | **Zona Centro** | 64 | 0.95 | 0.95 |
## | **Zona Norte** | 1289 | 19.17 | 20.12 |
## | **Zona Oeste** | 1103 | 16.40 | 36.53 |
## | **Zona Oriente** | 163 | 2.42 | 38.95 |
## | **Zona Sur** | 4105 | 61.05 | 100.00 |
## | **Total** | 6724 | 100.00 | 100.00 |
La mayor participación de viviendas del mercado inmobiliario de Cali está en la zona sur, seguido de la norte y el oeste; con una participación muy baja aparecen las zonas centro y oriente. Estas proporciones son consistentes con las de antes de realizar la depuración de los datos.
Tzt <- table(data2$zona, data2$tipo)
addmargins(Tzt)
##
## Apto Casa Sum
## Zona Centro 10 54 64
## Zona Norte 853 436 1289
## Zona Oeste 971 132 1103
## Zona Oriente 22 141 163
## Zona Sur 2381 1724 4105
## Sum 4237 2487 6724
Tzt <- table(data2$zona, data2$tipo) %>%
prop.table()*100
addmargins(Tzt)
##
## Apto Casa Sum
## Zona Centro 0.1487210 0.8030934 0.9518144
## Zona Norte 12.6859012 6.4842356 19.1701368
## Zona Oeste 14.4408090 1.9631172 16.4039262
## Zona Oriente 0.3271862 2.0969661 2.4241523
## Zona Sur 35.4104700 25.6395003 61.0499703
## Sum 63.0130874 36.9869126 100.0000000
El 63% de las viviendas del mercado inmobiliario de Cali son apartamentos y el 37% son casas. En las zonas de mayor participación de viviendas: sur, norte y oeste, se mantiene la mayor participación de apartamentos con respecto a casas, no siendo así para las zonas oriente y centro donde se observa más casas que apartamentos.
Tze <- table(data2$zona, data2$estrato)
addmargins(Tze)
##
## 3 4 5 6 Sum
## Zona Centro 53 8 3 0 64
## Zona Norte 237 269 670 113 1289
## Zona Oeste 24 62 265 752 1103
## Zona Oriente 159 2 1 1 163
## Zona Sur 211 1301 1584 1009 4105
## Sum 684 1642 2523 1875 6724
Tze <- table(data2$zona, data2$estrato) %>%
prop.table()*100
addmargins(Tze)
##
## 3 4 5 6 Sum
## Zona Centro 0.7882213 0.1189768 0.0446163 0.0000000 0.9518144
## Zona Norte 3.5246877 4.0005949 9.9643070 1.6805473 19.1701368
## Zona Oeste 0.3569304 0.9220702 3.9411065 11.1838192 16.4039262
## Zona Oriente 2.3646639 0.0297442 0.0148721 0.0148721 2.4241523
## Zona Sur 3.1380131 19.3486020 23.5574063 15.0059488 61.0499703
## Sum 10.1725164 24.4199881 37.5223081 27.8851874 100.0000000
Llama la atención que en la base de datos no haya viviendas en los estratos 1 y 2, se corrobora que en la base original tampoco había registros en dichos estratos. De acuerdo a la base de datos analizada, el estrato de mayor participación en el mercado inmobiliario de Cali, con el 37,5% de las viviendas es el 5, seguido del 6 con el 27,8%, del 4 con el 24,4% y el 3 con el 10,2%. No se observa una consistencia en la participación de viviendas por ESTRATO y por ZONA, es decir, en cada zona se observa una participación diferente por estrato.
Es importante conocer la participación por TIPO DE VIVIENDA y por ESTRATO como se presenta a continuación:
Tte <- table(data2$tipo, data2$estrato)
addmargins(Tte)
##
## 3 4 5 6 Sum
## Apto 296 1047 1660 1234 4237
## Casa 388 595 863 641 2487
## Sum 684 1642 2523 1875 6724
Tte <- table(data2$tipo, data2$estrato) %>%
prop.table()*100
addmargins(Tte)
##
## 3 4 5 6 Sum
## Apto 4.402142 15.571089 24.687686 18.352171 63.013087
## Casa 5.770375 8.848899 12.834622 9.533016 36.986913
## Sum 10.172516 24.419988 37.522308 27.885187 100.000000
En los estratos 4, 5 y 6 hay una participación notoriamente más alta, casi del doble, de apartamentos que de casas, en el estrato 3 se observa equilibrio entre aparamentos y casas.
Para complementar el análsis a continuación se presenta algunos indicadores para las variables cuantitativas PRECIO/M2 y AREA CONSTRUIDA.
summarytools::descr(data2$preciom)
## Descriptive Statistics
## data2$preciom
## N: 6724
##
## preciom
## ----------------- ---------
## Mean 469.32
## Std.Dev 335.44
## Min 58.00
## Q1 248.50
## Median 355.00
## Q3 580.00
## Max 1999.00
## MAD 200.15
## IQR 331.25
## CV 0.71
## Skewness 1.78
## SE.Skewness 0.03
## Kurtosis 3.26
## N.Valid 6724.00
## Pct.Valid 100.00
hist(data2$preciom, xlim=c(50, 2000), las=1, main="Distribución del precio x m2 de la vivienda en Cali", xlab="Precio(milesCOP/m2)", ylab="Frecuencia", col="#EE964B")
De acuerdo al histograma del PRECIO/M2, los datos analizados tienen una
distribución sesgada a la derecha, lo que se corrobora en que la media
469 mil pesos es mayor a la mediana 355 mil pesos. Aunque el rango de la
distribución de los datos es muy amplio el cuartil 3 es de 580 mil
pesos, es decir el 75% ´de los precios está por debajo de dicho
valor.
summarytools::descr(data2$areaconst)
## Descriptive Statistics
## data2$areaconst
## N: 6724
##
## areaconst
## ----------------- -----------
## Mean 181.21
## Std.Dev 144.08
## Min 30.00
## Q1 86.00
## Median 130.00
## Q3 234.00
## Max 1745.00
## MAD 83.03
## IQR 148.00
## CV 0.80
## Skewness 2.71
## SE.Skewness 0.03
## Kurtosis 13.24
## N.Valid 6724.00
## Pct.Valid 100.00
hist(data2$areaconst, xlim=c(0, 2000), las=1, main="Distribución del Area Construida de la vivienda en Cali", xlab="Area(m2)", ylab="Frecuencia", col="#FF4040")
Como se observa la distribución está muy concentrada en áreas “pequeñas”
para las viviendas de la ciudad de Cali, el cuartil 3 indica que el 75%
de los datos tienen un área menor de 234 metros cuadrados.
C1 = aggregate(data2$preciom, list(data2$zona), FUN=mean)
colnames(C1)=c("Zona", "Media del Precio")
C1
## Zona Media del Precio
## 1 Zona Centro 334.3906
## 2 Zona Norte 370.7797
## 3 Zona Oeste 699.5793
## 4 Zona Oriente 262.8773
## 5 Zona Sur 448.6906
boxplot(data2$preciom~data2$zona, main="Precio por Zona de las Viviendas de Cali", ylab="Precio(milesCOP/m2)", xlab="Zona", las=1, col=c("#FAEBD7", "#7FFFD4", "#98F5FF", "#7FFF00", "#EEDD82"))
La media del PRECIO/M2 de la zona sur, que es la de mayor participación
con el 61% de los registros, es de 448 mil pesos por metro cuadrado. Las
zona de menor participación, la zona oriente y la zona centro, son las
zonas de menores precios por metro cuadrado. El precio por metro
cuadrado más alto con 700 mil pesos corresponde a la oeste. Se observa
que las zonas sur y norte presentan una alta presencia de datos atípicos
que quedan por fuera del rango intercuartílico.
C2 = aggregate(data2$preciom, list(data2$estrato), FUN=mean)
colnames(C2)=c("Estrato", "Media del Precio")
C2
## Estrato Media del Precio
## 1 3 228.7003
## 2 4 283.9732
## 3 5 407.4051
## 4 6 802.7189
boxplot(data2$preciom~data2$estrato, main="Precio por Estrato de las Viviendas de Cali", ylab="Precio(milesCOP/m2)", xlab="Estrato", las=1, col=c("#E0EEEE", "#0000CD", "#EE7621", "#FFC1C1"))
La media del PRECIO/M2 por ESTRATO es coherente con lo que se puede
esperar, al aumentar el estrato aumenta el precio de las viviendas. La
media del precio por metro cuadrado del ESTRATO 5 casi duplica a la del
del ESTRATO 3 y la del ESTRATO 6 casi la cuadruplica. En los estratos 4
y 5 se observa una alta presencia de registros con precios más altos del
límite superior del rango intercuartílico.
C3 = aggregate(data2$preciom, list(data2$tipo), FUN=mean)
colnames(C3)=c("Tipo", "Media del Precio")
C3
## Tipo Media del Precio
## 1 Apto 402.1975
## 2 Casa 583.6691
boxplot(data2$preciom~data2$tipo, main="Precio por Tipo de las Viviendas de Cali", ylab="Precio(milesCOP/m2)", xlab="Tipo", las=1, col=c("#0000CD", "#EE7621"))
La media del PRECIO/M2 de las casas es más alto que el de los
apartamentos.
C4 = aggregate(data2$areaconst, list(data2$zona), FUN=mean)
colnames(C4)=c("Zona", "Area")
C4
## Zona Area
## 1 Zona Centro 199.1172
## 2 Zona Norte 168.2209
## 3 Zona Oeste 197.7410
## 4 Zona Oriente 211.2880
## 5 Zona Sur 179.3780
boxplot(data2$areaconst~data2$zona, main="Area por Zona de las Viviendas de Cali", ylab="Area(m2)", xlab="Zona", las=1, col=c("#FAEBD7", "#7FFFD4", "#98F5FF", "#7FFF00", "#EEDD82"))
La media del AREA CONSTRUIDA por vivienda es similar en las diferentes
zonas de Cali. La diferencia entre la zona de mayor área por vivienda,
la oriente, con la zona de menor área, la norte es de 40 metros
cuadrados.
C5 = aggregate(data2$areaconst, list(data2$estrato), FUN=mean)
colnames(C5)=c("Estrato", "Area")
C5
## Estrato Area
## 1 3 152.6376
## 2 4 134.3583
## 3 5 170.9438
## 4 6 246.4873
boxplot(data2$areaconst~data2$estrato, main="Area por Estrato de las Viviendas de Cali", ylab="Area(m2)", xlab="Estrato", las=1, col=c("#E0EEEE", "#0000CD", "#EE7621", "#FFC1C1"))
Contrario a lo observado por zona, por estrato se observa una diferencia
notable, de más de 110 metros cuadrados, entre el área media de las
viviendas del estrato 6, las más grandes, con respecto al área media de
las viviendas del estrato 4, las más pequeñas. Algo que llama la
atención es la media más alta del área de las viviendas del estrato 3
que las del estrato 4.
C6 = aggregate(data2$areaconst, list(data2$tipo), FUN=mean)
colnames(C6)=c("Tipo", "Area")
C6
## Tipo Area
## 1 Apto 119.7653
## 2 Casa 285.8985
boxplot(data2$areaconst~data2$tipo, main="Area por Tipo de las Viviendas de Cali", ylab="Area(m2)", xlab="Tipo", las=1, col=c("#0000CD", "#EE7621"))
Para los 2 TIPOS DE VIVIENDA, casas y apartamentos, de los datos
analizados se observa una gran cantidad de datos atípicos. Se resalta
que el área media de las casas es 2.5 veces mayor que la de los
apartamentos.
Para hacerse una idea de la media del tamaño del mercado, es importante conocer los precios medios de las viviendas considerando las áreas construidas y los precios por metro cuadrado tanto por ZONA, ESTRATO y TIPO DE VIVIENDA. A continuación se presenta las tablas para cada uno de estos cálculos.
PrecioZona <- c(C1$`Media del Precio` * C4$Area)
names(PrecioZona) <- c("Centro", "Norte", "Oeste", "Oriente", "Sur")
PrecioZona
## Centro Norte Oeste Oriente Sur
## 66582.92 62372.90 138335.49 55542.81 80485.23
PrecioEstrato <- c(C2$`Media del Precio` * C5$Area)
names(PrecioEstrato) <- c("Tres", "Cuatro", "Cinco", "Seis")
PrecioEstrato
## Tres Cuatro Cinco Seis
## 34908.26 38154.15 69643.35 197860.05
PrecioTipo <- c(C3$`Media del Precio` * C6$Area)
names(PrecioTipo) <- c("Apto", "Casa")
PrecioTipo
## Apto Casa
## 48169.32 166870.11
Por ZONA las viviendas de mayor precio están en el oeste y las de menor precio se encuentran en el norte. Como era de esperarse, a medida que se sube de ESTRATO aumenta la media del precio de las viviendas y también la media del precio de las casas supera en más de 3 veces la media del precio de los apartamentos.
El tamaño de la base de datos original fue de 13 variables por 8330 registros, al realizar la limpieza, depuración y transformación de la misma, se llegó a una base de datos completa para 6724 registros. Las variables que mejor describen,el mercado inmobiliario de Cali son: ZONA, ESTRATO, TIPO, PRECIO POR METRO CUADRADO y AREA CONSTRUIDA.
Al realizar la depuración se observa que las proporciones de las variables se mantienen con respecto a la base de datos original y se considera más importante contar con más registros completos descartando una variable como el NUMERO DE PISOS, que no le aporta mucho a la descripción pero al tenerla en cuenta se debían descartar una gran numero de registros que si están completos para las otras variables.
En este informe se presentaron tablas, gráficos y medidas sencillas y fáciles de entender para lograr visualizar un panorama general descriptivo del mercado inmobiliario de la ciudad de Cali. A partir de los datos disponibles es posible profundizar mucho más en temas de interés de las directivos de la empresa B&C BINES Y CASAS.