R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

summary(cars)
##      speed           dist       
##  Min.   : 4.0   Min.   :  2.00  
##  1st Qu.:12.0   1st Qu.: 26.00  
##  Median :15.0   Median : 36.00  
##  Mean   :15.4   Mean   : 42.98  
##  3rd Qu.:19.0   3rd Qu.: 56.00  
##  Max.   :25.0   Max.   :120.00

Including Plots

You can also embed plots, for example:

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot. # Introducción El presente taller tiene como propósito analizar de manera descriptiva elementos estadísticos del sector inmobiliario con el fin de estructurar de manera clara y profunda las principales tendencias que prevalecen en el nicho de mercado, de modo que se permita al sector de la inmobiliaria B&C tomar decisiones que le posibiliten establecer estrategias de marketing adecuadas para la empresa. Cabe mencionar que el trabajo se llevó a cabo desde un tipo de análisis exploratorio y descriptivo, donde se tienen en cuenta medidas de tendencia central.

Objetivos

Objetivo general

Desarrollar un estudio exploratorio descriptivo sobre el mercado inmobiliario en la ciudad de Cali para contribuir a la toma de decisiones de la empresa B&C.

Objetivos específicos • Efectuar un proceso de limpieza de la base de datos • Realizar un análisis descriptivo de las variables de manera univariada • Desarrollar algunos análisis bivariados

Metodología Para el desarrollo del presente estudio se llevó a cabo inicialmente el análisis de la base de datos “PaqueteMET,a partir de lo que se empleo el programa RStudio para la limpieza, análisis e imputación de datos. De esta manera, se inicia con el desarrollo de un proceso analítico que permita analizar la naturaleza de los datos para identificar datos faltantes, variables de interés y el comportamiento de las principales estadísticas descriptivas. Posteriormente, se procedió a determinar que variables se van a realizar para el análisis univariado, teniendo en cuenta los procedimientos previos de imputación de datos y los objetivos de la organización. A partir de la obtención de dichos pasos, se procede a efectuar un cruce de variables, lo que se obtiene mediante un análisis bivariado de los datos.

Resultados

library(paqueteMET)
data("vivienda_faltantes")
library(summarytools)
library(mice)
## 
## Attaching package: 'mice'
## The following object is masked from 'package:stats':
## 
##     filter
## The following objects are masked from 'package:base':
## 
##     cbind, rbind
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
set.seed(123)
datosNA<-sample_n(vivienda_faltantes,8000)
str(datosNA)
## spc_tbl_ [8,000 × 13] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ id       : num [1:8000] 122 190 880 1663 1401 ...
##  $ zona     : chr [1:8000] "Zona Norte" "Zona Oriente" "Zona Oriente" "Zona Sur" ...
##  $ piso     : num [1:8000] 1 4 1 NA NA 1 7 NA 2 4 ...
##  $ estrato  : num [1:8000] 3 3 3 4 4 5 5 3 5 3 ...
##  $ preciom  : num [1:8000] 150 360 250 375 150 270 290 235 450 125 ...
##  $ areaconst: num [1:8000] 93 420 210 74 57 75 93 122 252 72 ...
##  $ parquea  : num [1:8000] NA 1 NA 1 NA 1 1 1 2 NA ...
##  $ banios   : num [1:8000] 1 6 4 5 2 2 3 2 2 2 ...
##  $ habitac  : num [1:8000] 4 9 4 5 3 3 3 5 7 3 ...
##  $ tipo     : chr [1:8000] "Casa" "Casa" "Apartamento" "Casa" ...
##  $ barrio   : chr [1:8000] "la rivera" "las ceibas" "morichal de comfandi" "calicanto viii" ...
##  $ longitud : num [1:8000] -76.5 -76.5 -76.5 -76517 -76.5 ...
##  $ latitud  : num [1:8000] 3.48 3.46 3.4 3373 3.38 ...
##  - attr(*, "spec")=List of 3
##   ..$ cols   :List of 13
##   .. ..$ id       : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ zona     : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ piso     : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ estrato  : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ preciom  : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ areaconst: list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ parquea  : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ banios   : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ habitac  : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ tipo     : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ barrio   : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ longitud : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ latitud  : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   ..$ default: list()
##   .. ..- attr(*, "class")= chr [1:2] "collector_guess" "collector"
##   ..$ delim  : chr ","
##   ..- attr(*, "class")= chr "col_spec"
##  - attr(*, "problems")=<externalptr>
datosSINA<-na.omit(datosNA)
faltantes<-colSums(is.na(datosNA))
faltantes
##        id      zona      piso   estrato   preciom areaconst   parquea    banios 
##         3         3      2540         3         2         3      1533         3 
##   habitac      tipo    barrio  longitud   latitud 
##         3         3         3         3         3
library(naniar)

gg_miss_var(datosNA)

datosSINA <-na.omit(datosNA)
grafico<-md.pattern(datosSINA,rotate.names = TRUE)
##  /\     /\
## {  `---'  }
## {  O   O  }
## ==>  V <==  No need for mice. This data set is completely observed.
##  \  \|/  /
##   `-----'

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ readr     2.1.4
## ✔ ggplot2   3.4.2     ✔ stringr   1.5.0
## ✔ lubridate 1.9.2     ✔ tibble    3.2.1
## ✔ purrr     1.0.2     ✔ tidyr     1.3.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks mice::filter(), stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ✖ tibble::view()  masks summarytools::view()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
datosSINA$barrio=str_to_lower(datosSINA$barrio)
datosSINA$tipo=str_to_lower(datosSINA$tipo)
datosSINA$estrato=str_to_lower(datosSINA$estrato)
datosSINA$preciom=str_to_lower(datosSINA$preciom)



breaks = c(58, 136, 206, 280, 337, 423, 590, 760, 960, 1300, 1584)
precio.intervalo=cut(1:8000, breaks=11)
summarytools::freq(precio.intervalo)
## Frequencies  
## precio.intervalo  
## Type: Factor  
## 
##                             Freq   % Valid   % Valid Cum.   % Total   % Total Cum.
## ------------------------- ------ --------- -------------- --------- --------------
##                  (-7,728]    728      9.10           9.10      9.10           9.10
##            (728,1.46e+03]    727      9.09          18.19      9.09          18.19
##       (1.46e+03,2.18e+03]    727      9.09          27.27      9.09          27.27
##       (2.18e+03,2.91e+03]    727      9.09          36.36      9.09          36.36
##       (2.91e+03,3.64e+03]    727      9.09          45.45      9.09          45.45
##       (3.64e+03,4.36e+03]    728      9.10          54.55      9.10          54.55
##       (4.36e+03,5.09e+03]    727      9.09          63.64      9.09          63.64
##       (5.09e+03,5.82e+03]    727      9.09          72.72      9.09          72.72
##       (5.82e+03,6.55e+03]    727      9.09          81.81      9.09          81.81
##       (6.55e+03,7.27e+03]    727      9.09          90.90      9.09          90.90
##       (7.27e+03,8.01e+03]    728      9.10         100.00      9.10         100.00
##                      <NA>      0                               0.00         100.00
##                     Total   8000    100.00         100.00    100.00         100.00
table(datosSINA$tipo)
## 
## apartamento        apto        casa 
##        3058           3        1562
table(datosSINA$estrato)
## 
##    3    4    5    6 
##  417 1164 1791 1251
table(datosSINA$habitac)
## 
##    0    1    2    3    4    5    6    7    8    9   10 
##   17   34  459 2361 1050  359  154   79   43   42   25
barplot(table(datosSINA$tipo), main = "Tipo de vivienda")

barplot(table(datosSINA$estrato), main = "Principales estratos")

barplot(table(datosSINA$habitac), main = "Número de piezas del hogar")

library(DescTools)
moda_estrato <- Mode(datosSINA$estrato, na.rm = TRUE)
datosSINA$estrato [is.na(datosSINA$estrato)] <- moda_estrato
str(moda_estrato)
##  chr "5"
##  - attr(*, "freq")= int 1791

conclusiones

Al observar las gráficas anteriores es posible establecer que los apartamentos son los tipos de viviendas mas demandados por las personas en el sector inmobiliario de Cali. en este sentido, es importante reconocer que las casas cuentan con una particular participacion de mas de 1.500 unidades. por otra parte, es posible resaltar que al indagar sobre los principales estrato donde se comercializan las viviendas en el sector inmobiliariode cali se encuentra que el estrato 5 era el que mayor demanda tenía, por lo que las estrategias de marketing deben estar enfocadas a estos sectores, donde las personas cuentan probablemente con mayores recursos.