1 INTRODUCCIÓN

El presente trabajo se centra en la primera unidad del curso de Métodos y Simulación Estadística, donde se emprende un análisis descriptivo de una base de datos originada en la empresa ficticia B&C. Esta empresa, con una trayectoria de más de diez años en la ciudad de Cali, se destaca por contar actualmente con ocho agentes de bienes raíces. La finalidad de este análisis descriptivo es examinar los datos con el propósito de identificar tendencias y patrones, contribuyendo así a una comprensión más profunda de la dinámica empresarial y proporcionando información valiosa para la toma de decisiones estratégicas.

2 OBJETIVOS

2.1 OBJETIVO GENERAL

Realizar un análisis descriptivo detallado de la base de datos de la empresa ficticia B&C mediante el uso de herramientas estadísticas en RStudio, con el fin de identificar tendencias y patrones clave que proporcionen una comprensión profunda de la dinámica empresarial.

2.2 OBJETIVOS ESPECIFICOS

  1. Importar y explorar la base de datos en RStudio, asegurando la comprensión de su estructura y variables.
  2. Limpiar y preprocesar los datos para abordar posibles problemas de calidad, como valores faltantes o atípicos.
  3. Realizar un análisis descriptivo detallado de las variables clave de la base de datos, utilizando gráficos y estadísticas descriptivas para identificar tendencias, distribuciones y posibles relaciones entre las variables.

3 MÉTODOS

Se empleó la base de datos proporcionada por la inmobiliaria para llevar a cabo un análisis detallado. El proceso incluyó las siguientes etapas:

  1. Importación y Exploración de Datos: Se utilizó RStudio para importar la base de datos, examinando la estructura y características iniciales de los datos.
  2. Depuración y Limpieza de Datos: Se implementaron estrategias específicas para abordar valores atípicos, duplicados y faltantes en los datos. Se detallan las técnicas utilizadas para garantizar la integridad y calidad de la información.
  3. Manejo de Datos Faltantes: Se describen las estrategias adoptadas para gestionar los datos faltantes, incluyendo posibles imputaciones o decisiones tomadas al respecto.
  4. Análisis Descriptivo: Se realizó un análisis descriptivo exhaustivo, calculando medidas de tendencia central, dispersión y otras estadísticas relevantes para cada tipo de variable. Se utilizaron gráficos y visualizaciones adecuadas para representar la distribución de las variables y destacar patrones clave.
  5. Herramientas Utilizadas: Se explora y destaca el uso de las funcionalidades específicas de RStudio que facilitaron la ejecución eficiente de cada paso del análisis.

4 RESULTADOS

4.1 DEPURACIÓN Y LIMPIEZA DE LA BASE DE DATOS

Inicialmente, se instaló un paquete y se cargaron sus funciones. En este paquete, se encuentra el conjunto de datos que será utilizado en el desarrollo de este trabajo. Se creó un nuevo objeto denominado “propiedades” para almacenar el conjunto de datos “viviendas_faltantes”, que contiene toda la información de estudio. Posteriormente, se generó un resumen estadístico descriptivo de estos datos con el objetivo de observar y analizar el estado inicial de la información.

##devtools::install_github("dgonxalex80/paqueteMETODOS")// solo se instala una vez
library(paqueteMETODOS)
propiedades = vivienda_faltantes
summary(propiedades)
##        id           zona                piso           estrato     
##  Min.   :   1   Length:8330        Min.   : 1.000   Min.   :3.000  
##  1st Qu.:2082   Class :character   1st Qu.: 2.000   1st Qu.:4.000  
##  Median :4164   Mode  :character   Median : 3.000   Median :5.000  
##  Mean   :4164                      Mean   : 3.772   Mean   :4.634  
##  3rd Qu.:6246                      3rd Qu.: 5.000   3rd Qu.:5.000  
##  Max.   :8319                      Max.   :12.000   Max.   :6.000  
##  NA's   :3                         NA's   :2641     NA's   :3      
##     preciom         areaconst       parquea           banios      
##  Min.   :  58.0   Min.   :  30   Min.   : 1.000   Min.   : 0.000  
##  1st Qu.: 220.0   1st Qu.:  80   1st Qu.: 1.000   1st Qu.: 2.000  
##  Median : 330.0   Median : 123   Median : 2.000   Median : 3.000  
##  Mean   : 434.2   Mean   : 175   Mean   : 1.836   Mean   : 3.112  
##  3rd Qu.: 540.0   3rd Qu.: 229   3rd Qu.: 2.000   3rd Qu.: 4.000  
##  Max.   :1999.0   Max.   :1745   Max.   :10.000   Max.   :10.000  
##  NA's   :2        NA's   :3      NA's   :1606     NA's   :3       
##     habitac           tipo              barrio             longitud        
##  Min.   : 0.000   Length:8330        Length:8330        Min.   :-76576.00  
##  1st Qu.: 3.000   Class :character   Class :character   1st Qu.:-76506.00  
##  Median : 3.000   Mode  :character   Mode  :character   Median :   -76.54  
##  Mean   : 3.605                                         Mean   :-21845.13  
##  3rd Qu.: 4.000                                         3rd Qu.:   -76.52  
##  Max.   :10.000                                         Max.   :   -76.46  
##  NA's   :3                                              NA's   :3          
##     latitud        
##  Min.   :   3.333  
##  1st Qu.:   3.390  
##  Median :   3.450  
##  Mean   : 970.370  
##  3rd Qu.:3367.000  
##  Max.   :3497.000  
##  NA's   :3

se procedio a estandarizar la informacion en la columna “tipo”, ya que se habian ingresado los datos de la siguiente manera:

conteo_tipo <- table(propiedades$tipo, useNA = "ifany")
print(conteo_tipo)
## 
## Apartamento APARTAMENTO        apto        casa        Casa        CASA 
##        5032          61          13          14        3195          12 
##        <NA> 
##           3

Se observa el uso de diversas formas para referirse tanto a “casa” como a “apartamento”. A continuación, se ha llevado a cabo el tratamiento de estos datos para que únicamente queden representados por las dos formas mencionada y tambier quitar los NA ya que no son muchos.Dando como resultado lo siguiente

propiedades$tipo = tolower(propiedades$tipo)
propiedades$tipo = gsub("apto", "apartamento", propiedades$tipo)
propiedades = propiedades[complete.cases(propiedades$tipo), ]
conteo_tipo = table(propiedades$tipo, useNA = "ifany")
print(conteo_tipo)
## 
## apartamento        casa 
##        5106        3221

continuando con el analisis de las columnas, notamos una notable cantidad de datos faltantes en las variables “piso” y “parquea”. Se llevó a cabo un proceso para determinar si la ausencia de estos datos está vinculada a que se trata de casas. Es plausible que algunas casas carezcan de parqueadero y piso, ya que estos aspectos podrían estar más relacionados con los apartamentos, dado que estos últimos suelen ubicarse en los pisos de edificios.

Analisis de la variable piso

conteo_piso = table(is.na(propiedades$piso), propiedades$tipo)
print(conteo_piso)
##        
##         apartamento casa
##   FALSE        3723 1966
##   TRUE         1383 1255

Analisis de la variable parqueadero

conteo_parqueadero = table(is.na(propiedades$parquea), propiedades$tipo)
print(conteo_parqueadero)
##        
##         apartamento casa
##   FALSE        4237 2487
##   TRUE          869  734

En ambos casos, se observa que no existe una diferencia significativa entre los valores faltantes (NA) de las variables “piso” y “parquea” en comparación con la variable “tipo” (“casa” y “apartamento”). Por ende, se ha tomado la decisión de no utilizar estas dos variables y se procede a eliminarlas del conjunto de datos. Tambien se toma la decision de eliminar las variables “longitud” y “latitud” ya que para realizar analisis de la ubicacion se utilizara la variable “zona”, y finalmente se elimina la variable “id” debido a que no sera necesario ubicar un inmueble especifico mediante su unico codigo.

propiedades$id=NULL
propiedades$piso=NULL
propiedades$parquea=NULL
propiedades$longitud=NULL
propiedades$latitud=NULL

También se puede observar que en las variables “banio” y “habitac”, el valor mínimo es 0, lo cual no es apropiado ya que el mínimo debería ser 1. Por lo tanto, se lleva a cabo un análisis de estas variables. En caso de que la frecuencia sea significativa, se debe considerar un tratamiento adecuado para estos valores. En cambio, si la presencia del valor cero es escasa, se podrían eliminar los registros correspondientes.

tabla_habitaciones = table(propiedades$habitac)
print(tabla_habitaciones)
## 
##    0    1    2    3    4    5    6    7    8    9   10 
##   66   59  927 4101 1731  680  318  173  138   83   51
tabla_banios = table(propiedades$banios)
print(tabla_banios)
## 
##    0    1    2    3    4    5    6    7    8    9   10 
##   45  497 2946 1994 1460  891  315  107   48   15    9

Se observa que en ambos casos se repite muy pocas veces el cero, por ende se procede a borrar estos registros del dataset.

Finalmente se puede observar el resumen de como quedo la base de datos despues de realizar la respectiva limpieza.

propiedades = propiedades[propiedades$banios > 0,]
propiedades = propiedades[propiedades$habitac > 0,]
summary(propiedades)
##      zona              estrato         preciom         areaconst     
##  Length:8251        Min.   :3.000   Min.   :  58.0   Min.   :  30.0  
##  Class :character   1st Qu.:4.000   1st Qu.: 220.0   1st Qu.:  80.0  
##  Mode  :character   Median :5.000   Median : 330.0   Median : 122.0  
##                     Mean   :4.638   Mean   : 433.6   Mean   : 174.1  
##                     3rd Qu.:5.000   3rd Qu.: 540.0   3rd Qu.: 227.0  
##                     Max.   :6.000   Max.   :1999.0   Max.   :1745.0  
##      banios          habitac           tipo              barrio         
##  Min.   : 1.000   Min.   : 1.000   Length:8251        Length:8251       
##  1st Qu.: 2.000   1st Qu.: 3.000   Class :character   Class :character  
##  Median : 3.000   Median : 3.000   Mode  :character   Mode  :character  
##  Mean   : 3.128   Mean   : 3.633                                        
##  3rd Qu.: 4.000   3rd Qu.: 4.000                                        
##  Max.   :10.000   Max.   :10.000

4.2 ANALISIS DESCRIPTIVO

VARIABLE ZONA

Tabla de frecuencias Zona

freq(propiedades$zona)
## Frequencies  
## propiedades$zona  
## Type: Character  
## 
##                      Freq   % Valid   % Valid Cum.   % Total   % Total Cum.
## ------------------ ------ --------- -------------- --------- --------------
##        Zona Centro    121      1.47           1.47      1.47           1.47
##         Zona Norte   1890     22.91          24.37     22.91          24.37
##         Zona Oeste   1194     14.47          38.84     14.47          38.84
##       Zona Oriente    345      4.18          43.03      4.18          43.03
##           Zona Sur   4701     56.97         100.00     56.97         100.00
##               <NA>      0                               0.00         100.00
##              Total   8251    100.00         100.00    100.00         100.00
tabla_frecuencias = table(propiedades$zona)

Diagrama circular

tabla_frecuencias = table(propiedades$zona)
pie(tabla_frecuencias)

Aqui podemos observar como casi el 57% de los inmuebles estan ubicados en la Zona Sur seguido por la zona Norte con un 24% aproximadamente.

VARIABLE ESTRATO

Tabla de frecuencias Estrato

tabla_frecuencias_est = table(propiedades$estrato)
freq(propiedades$estrato)
## Frequencies  
## propiedades$estrato  
## Type: Numeric  
## 
##               Freq   % Valid   % Valid Cum.   % Total   % Total Cum.
## ----------- ------ --------- -------------- --------- --------------
##           3   1432     17.36          17.36     17.36          17.36
##           4   2108     25.55          42.90     25.55          42.90
##           5   2729     33.07          75.98     33.07          75.98
##           6   1982     24.02         100.00     24.02         100.00
##        <NA>      0                               0.00         100.00
##       Total   8251    100.00         100.00    100.00         100.00

Grafico de barras Estrato

ggplot(data = data.frame(estrato = as.factor(names(tabla_frecuencias_est)),
                         frecuencia = as.numeric(tabla_frecuencias_est)),
       aes(x = estrato, y = frecuencia, fill = estrato)) +
  geom_bar(stat = "identity") +
  labs(title = "Distribución de Estratos",
       x = "Estrato",
       y = "Frecuencia") +
  theme_minimal()

En el caso del estrato podemos observar que aproximadamente el 33% de las propiedades son de estrato 5, seguida por el estrato 4 con un 25% aproximadamente.

VARIABLE PRECIO

library(agricolae)
x=propiedades$preciom
n=length(x)
k=nclass.Sturges(x)
intervalos=cut(x,breaks = k)
rango=max(x)-min(x)
a=rango/k
histograma = hist(x, breaks = seq(min(x), max(x), by = a), col = "skyblue", main = "Histograma de Precio", xlab = "Precio")

Tabla_Frecuencias_precio=(table.freq(histograma))
Tabla_Frecuencias_precio
##     Lower  Upper   Main Frequency Percentage   CF   CPF
## 1    58.0  187.4  122.7      1648       20.0 1648  20.0
## 2   187.4  316.8  252.1      2232       27.1 3880  47.0
## 3   316.8  446.2  381.5      1625       19.7 5505  66.7
## 4   446.2  575.6  510.9       878       10.6 6383  77.4
## 5   575.6  705.0  640.3       647        7.8 7030  85.2
## 6   705.0  834.4  769.7       281        3.4 7311  88.6
## 7   834.4  963.8  899.1       309        3.7 7620  92.4
## 8   963.8 1093.2 1028.5       103        1.2 7723  93.6
## 9  1093.2 1222.6 1157.9       171        2.1 7894  95.7
## 10 1222.6 1352.0 1287.3       121        1.5 8015  97.1
## 11 1352.0 1481.4 1416.7        72        0.9 8087  98.0
## 12 1481.4 1610.8 1546.1        75        0.9 8162  98.9
## 13 1610.8 1740.2 1675.5        32        0.4 8194  99.3
## 14 1740.2 1869.6 1804.9        41        0.5 8235  99.8
## 15 1869.6 1999.0 1934.3        16        0.2 8251 100.0

Aqui podemos observar como aproximadamente el 77% de los inmuebles cuestan entre 58 millones y 575.6 millones de pesos.

VARIABLE AREA EN METROS CUADRADOS

library(agricolae)
x=propiedades$areaconst
n=length(x)
k=nclass.Sturges(x)
intervalos=cut(x,breaks = k)
rango=max(x)-min(x)
a=rango/k
histograma= hist(x, breaks = seq(min(x),max(x), by=a), col = "lightgreen", main = "Histograma de Area(metros cuadrados)", xlab = "Metros cuadrados")

Tabla_Frecuencias_area=(table.freq(histograma))
Tabla_Frecuencias_area
##        Lower     Upper       Main Frequency Percentage   CF   CPF
## 1    30.0000  144.3333   87.16667      4734       57.4 4734  57.4
## 2   144.3333  258.6667  201.50000      1901       23.0 6635  80.4
## 3   258.6667  373.0000  315.83333       916       11.1 7551  91.5
## 4   373.0000  487.3333  430.16667       412        5.0 7963  96.5
## 5   487.3333  601.6667  544.50000       163        2.0 8126  98.5
## 6   601.6667  716.0000  658.83333        42        0.5 8168  99.0
## 7   716.0000  830.3333  773.16667        35        0.4 8203  99.4
## 8   830.3333  944.6667  887.50000        20        0.2 8223  99.7
## 9   944.6667 1059.0000 1001.83333        14        0.2 8237  99.8
## 10 1059.0000 1173.3333 1116.16667         3        0.0 8240  99.9
## 11 1173.3333 1287.6667 1230.50000         4        0.0 8244  99.9
## 12 1287.6667 1402.0000 1344.83333         1        0.0 8245  99.9
## 13 1402.0000 1516.3333 1459.16667         3        0.0 8248 100.0
## 14 1516.3333 1630.6667 1573.50000         2        0.0 8250 100.0
## 15 1630.6667 1745.0000 1687.83333         1        0.0 8251 100.0

Aqui se puede apreciar como aproximadamente el 80% de todas las propiedades tienen un area entre 30 metros cuadrados y 258.67 metros cuadrados.

VARIABLE BAÑOS Y HABITACIONES

library(grid)
library(summarytools)
library(gridExtra)
Tabla_Frecuencias_banios=(table(propiedades$banios))
summarytools::freq(propiedades$banios, style="rmarkdown")
## ### Frequencies  
## #### propiedades$banios  
## **Type:** Numeric  
## 
## |     &nbsp; | Freq | % Valid | % Valid Cum. | % Total | % Total Cum. |
## |-----------:|-----:|--------:|-------------:|--------:|-------------:|
## |      **1** |  495 |    6.00 |         6.00 |    6.00 |         6.00 |
## |      **2** | 2935 |   35.57 |        41.57 |   35.57 |        41.57 |
## |      **3** | 1989 |   24.11 |        65.68 |   24.11 |        65.68 |
## |      **4** | 1452 |   17.60 |        83.27 |   17.60 |        83.27 |
## |      **5** |  889 |   10.77 |        94.05 |   10.77 |        94.05 |
## |      **6** |  313 |    3.79 |        97.84 |    3.79 |        97.84 |
## |      **7** |  107 |    1.30 |        99.14 |    1.30 |        99.14 |
## |      **8** |   47 |    0.57 |        99.71 |    0.57 |        99.71 |
## |      **9** |   15 |    0.18 |        99.89 |    0.18 |        99.89 |
## |     **10** |    9 |    0.11 |       100.00 |    0.11 |       100.00 |
## | **\<NA\>** |    0 |         |              |    0.00 |       100.00 |
## |  **Total** | 8251 |  100.00 |       100.00 |  100.00 |       100.00 |
banios=barplot(table(propiedades$banios), main = "Gráfico de Barras para el Número de Baños", 
        xlab = "Número de Baños", ylab = "Frecuencia", col = "skyblue")

Tabla_Frecuencias_habitac=(table(propiedades$habitac))
summarytools::freq(propiedades$habitac, style="rmarkdown")
## ### Frequencies  
## #### propiedades$habitac  
## **Type:** Numeric  
## 
## |     &nbsp; | Freq | % Valid | % Valid Cum. | % Total | % Total Cum. |
## |-----------:|-----:|--------:|-------------:|--------:|-------------:|
## |      **1** |   58 |    0.70 |         0.70 |    0.70 |         0.70 |
## |      **2** |  927 |   11.24 |        11.94 |   11.24 |        11.94 |
## |      **3** | 4096 |   49.64 |        61.58 |   49.64 |        61.58 |
## |      **4** | 1730 |   20.97 |        82.55 |   20.97 |        82.55 |
## |      **5** |  679 |    8.23 |        90.78 |    8.23 |        90.78 |
## |      **6** |  318 |    3.85 |        94.63 |    3.85 |        94.63 |
## |      **7** |  172 |    2.08 |        96.72 |    2.08 |        96.72 |
## |      **8** |  138 |    1.67 |        98.39 |    1.67 |        98.39 |
## |      **9** |   83 |    1.01 |        99.39 |    1.01 |        99.39 |
## |     **10** |   50 |    0.61 |       100.00 |    0.61 |       100.00 |
## | **\<NA\>** |    0 |         |              |    0.00 |       100.00 |
## |  **Total** | 8251 |  100.00 |       100.00 |  100.00 |       100.00 |
habitac=barplot(table(propiedades$habitac), main = "Gráfico de Barras para el Número de habitaciones", 
        xlab = "Número de habitaciones", ylab = "Frecuencia", col = "salmon")

Aquí se puede observar que aproximadamente el 35% de las propiedades cuentan con 2 baños, seguido por aproximadamente el 24% que tiene 3 baños. En cuanto a las habitaciones, cerca del 49% de las propiedades tienen 3 habitaciones, seguido por el 20% aproximadamente que cuenta con 4 habitaciones.

VARIABLE TIPO

tabla_frecuencias_tipo = table(propiedades$tipo)
frecuencia_relativa=prop.table(tabla_frecuencias_tipo)

results= data.frame(Tipo=names(tabla_frecuencias_tipo), Frecuencia_Abs=as.numeric(tabla_frecuencias_tipo), Frecuencia_Rel=as.numeric(frecuencia_relativa))
print(results)
##          Tipo Frecuencia_Abs Frecuencia_Rel
## 1 apartamento           5080      0.6156829
## 2        casa           3171      0.3843171
ggplot(propiedades, aes(x = tipo, fill = tipo)) +
  geom_bar() +
  labs(title = "Distribución de Tipos de Propiedades", x = "Tipo", y = "Frecuencia") +
  theme_minimal()

Se observa que hay una mayoría de apartamentos en comparación con las casas, representando aproximadamente el 61%, frente a aproximadamente el 38% de casas.

VARIABLE BARRIO

TOP 5 BARRIOS CON MAS PROPIEDADES

library(knitr)
top_5_barrios <- head(sort(table(propiedades$barrio), decreasing = TRUE), 5)

df_top_5_barrios <- data.frame(Barrio = names(top_5_barrios), Frecuencia = as.vector(top_5_barrios))

print(df_top_5_barrios)
##           Barrio Frecuencia
## 1 valle del lili       1008
## 2  ciudad jardín        513
## 3          pance        406
## 4       la flora        362
## 5 santa teresita        261
ggplot(df_top_5_barrios, aes(x = Barrio, y = Frecuencia)) +
  geom_bar(stat = "identity", fill = "skyblue") +
  labs(title = "Top 5 Barrios", x = "Barrio", y = "Frecuencia") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))  

TOP 5 BARRIOS CON MAS CASAS

casas= propiedades[propiedades$tipo == "casa", ]
top_5_barrios_casas <- head(sort(table(casas$barrio), decreasing = TRUE), 5)
df_top_5_barrios_casas <- data.frame(Barrio = names(top_5_barrios_casas), Frecuencia = as.vector(top_5_barrios_casas))
print(df_top_5_barrios_casas)
##           Barrio Frecuencia
## 1  ciudad jardín        294
## 2          pance        202
## 3 valle del lili        168
## 4       la flora         97
## 5       el caney         83

TOP 5 BARRIOS CON MAS APARTAMENTOS

apartamentos= propiedades[propiedades$tipo == "apartamento", ]
top_5_barrios_apartamentos <- head(sort(table(apartamentos$barrio), decreasing = TRUE), 5)
df_top_5_barrios_apartamentos <- data.frame(Barrio = names(top_5_barrios_apartamentos), Frecuencia = as.vector(top_5_barrios_apartamentos))
print(df_top_5_barrios_apartamentos)
##           Barrio Frecuencia
## 1 valle del lili        840
## 2       la flora        265
## 3 santa teresita        249
## 4  ciudad jardín        219
## 5          pance        204

CASAS Y APARTAMENTOS POR ESTRATO

grafico_barras = ggplot(propiedades, aes(x = estrato, fill = tipo)) +
  geom_bar(position = "dodge", color = "black", stat = "count") +
  labs(title = "Distribución de Tipos de Propiedades por Estrato",
       x = "Estrato",
       y = "Cantidad de Propiedades") +
  theme_minimal()


grafico_barras_con_etiquetas <- grafico_barras +
  geom_text(stat = "count",
            aes(label = after_stat(count)),
            position = position_dodge(width = 0.9),
            vjust = -0.5, size = 3)


print(grafico_barras_con_etiquetas)

Podemos observar que en el estrato 5 es donde hay más casas y apartamentos. Sin embargo, esta tendencia cambia posteriormente, ya que la mayor concentración de apartamentos se encuentra en el estrato 4, mientras que, en el caso de las casas, es más notable en el estrato 3.

TOP 5 BARRIOS POR ESTRATO

tabla_frecuencia = table(propiedades$barrio, propiedades$estrato)
df_frecuencias = as.data.frame.table(tabla_frecuencia)
colnames(df_frecuencias) = c("Barrio", "Estrato", "Frecuencia")
top_5_barrio_estrato = df_frecuencias[order(-df_frecuencias$Frecuencia), ][1:5, ]
print(top_5_barrio_estrato)
##              Barrio Estrato Frecuencia
## 845  valle del lili       4        576
## 1405  ciudad jardín       6        443
## 1278 valle del lili       5        423
## 1595          pance       6        384
## 1075       la flora       5        321

DISTRIBUCION DE CASAS Y APARTAMENTOS POR ZONA

grafico_barras = ggplot(propiedades, aes(x = zona, fill = tipo)) +
  geom_bar(position = "dodge", color = "black", stat = "count") +
  labs(title = "Distribución de Tipos de Propiedades por Zona",
       x = "Zona",
       y = "Cantidad de Propiedades") +
  theme_minimal()

grafico_barras_con_etiquetas <- grafico_barras +
  geom_text(stat = "count",
            aes(label = after_stat(count)),
            position = position_dodge(width = 0.9),
            vjust = -0.5, size = 3)

print(grafico_barras_con_etiquetas)

En este caso, se observa que la gran mayoría de casas y apartamentos se concentran en la Zona Sur. La tendencia se repite en la Zona Norte, que ocupa el segundo lugar en concentración de casas y apartamentos.

DIAGRAMA DE CAJA Y BIGOTES - PRECIOS CASAS

casas <- propiedades[propiedades$tipo == "casa", ]
ggplot(casas, aes(x = factor(1), y = preciom)) +
  geom_boxplot(fill = "skyblue", color = "black") +
  labs(title = "Boxplot de Precios para el Tipo 'Casa'",
       x = "",
       y = "Precio") +
  theme_minimal()

DIAGRAMA DE CAJA Y BIGOTES - PRECIOS APARTAMENTOS

aptos <- propiedades[propiedades$tipo == "apartamento", ]

ggplot(aptos, aes(x = factor(1), y = preciom)) +
  geom_boxplot(fill = "lightgreen", color = "black") +
  labs(title = "Boxplot de Precios para el Tipo 'apartamento'",
       x = "",
       y = "Precio") +
  theme_minimal()

En ambos casos, se observa una cantidad considerable de outliers. Esto podría estar relacionado con el hecho de que estas propiedades están destinadas a un tipo específico de clientes, como propiedades de lujo. Es probable que muchas de estas propiedades, o la mayoría, se ubiquen en la Zona Sur y pertenezcan al estrato seis. Sería necesario realizar un análisis más detallado en el futuro, cuando contemos con herramientas adicionales, para profundizar en este tipo de análisis.

5 DISCUSIÓN

De acuerdo con toda la informacion analizada se dan a conocer las siguientes recomendaciones:

  • Implementar estrategias más robustas y sistemáticas para la recolección de datos, asegurando la uniformidad en la captura de información. Proporcionar capacitación continua al personal encargado de la recopilación de datos para asegurar una comprensión clara de los procedimientos y la importancia de la consistencia en la información recabada.
  • La implementación de estrategias de investigación de mercados es crucial para analizar la existencia de un mercado viable para propiedades que se encuentran significativamente alejadas del valor promedio en comparación con otras propiedades.
  • Se podría también enfocar estrategias de marketing para promocionar las propiedades ubicadas en los estratos 5 y 4, que son las zonas con mayor concentración de propiedades. Esto implicaría implementar campañas específicas dirigidas a estos estratos, aprovechando la alta demanda y la presencia significativa de propiedades en estas categorías.

6 CONCLUSIONES

Este trabajo proporcionó una visión detallada de la base de datos de la empresa ficticia B&C, revelando aspectos clave sobre su mercado objetivo. Se identificó que la empresa se enfoca principalmente en clientes con un nivel socioeconómico medio-alto, dado que las propiedades ofertadas se ubican mayormente en los estratos 3 y 6. Asimismo, se destaca que la Zona Sur de la ciudad de Cali concentra la mayor cantidad de propiedades catalogadas en estratos altos.

Además, se evidenció un potencial de crecimiento significativo en el sector de apartamentos dentro del mercado inmobiliario de Cali, ya que estos superan en gran medida a las casas. Este hallazgo sugiere oportunidades para adaptar estrategias de comercialización y desarrollo inmobiliario, enfocándose en la creciente demanda de apartamentos en la región.

En conclusión, este análisis descriptivo proporcionó insights valiosos que podrían orientar decisiones estratégicas futuras, permitiendo a la empresa B&C ajustar sus enfoques de mercado y aprovechar las tendencias identificadas para maximizar su impacto y crecimiento en el sector inmobiliario.