Paso 1: Filtrar solo apartamentos, en un barrio de preferencia arboleda y estrato 6

library(readxl)
datos=read_excel("/Mesa/YDRAY-Datos_Vivienda.xlsx")
ID=1:dim(datos)[1]
datos=data.frame(ID,datos)
#names(datos)

pos=which(datos$Barrio=="arboleda" & datos$Estrato=="6")

datos_sub=datos[pos,]

#Cantidad de registros de arboleda coincidencia exacta
dim(datos_sub)[1]
## [1] 4
require(RecordLinkage)
pos2=which(jarowinkler("arboleda",datos$Barrio)>0.85 & datos$Estrato=="6")
datos_sub=datos[pos2,]
#Cantidad de registros de arboleda coincidencia relativa
dim(datos_sub)[1]
## [1] 41

Paso 2. Exploracion Inicial variables precio_millon y area_construida

library(modeest)
#Cálculo simple de estadíticos descriptivos


variables =c("precio_millon", "Area_contruida")

#length(datos_sub$precio_millon)

#length(datos_sub[,variables[1]])



library(stringr)

for(i in 1:length(variables)) {

cantidad=length(datos_sub[,variables[i]])    
min = min(datos_sub[,variables[i]], na.rm = TRUE)
q1 = quantile(datos_sub[,variables[i]], probs = 0.25, na.rm = TRUE)
media = mean.default(datos_sub[,variables[i]], na.rm = TRUE)
media_rec = mean.default(datos_sub[,variables[i]], trim = 0.025, na.rm = TRUE)
mediana = median.default(datos_sub[,variables[i]], na.rm = TRUE)
moda = mfv(datos_sub[,variables[i]])
var = var(datos_sub[,variables[i]], na.rm = TRUE)
desvest = sd(datos_sub[,variables[i]], na.rm = TRUE)
q3 = quantile(datos_sub[,variables[i]], probs = 0.75, na.rm = TRUE)
max = max(datos_sub[,variables[i]], na.rm = TRUE)


descriptivos =as.numeric(c(cantidad,min, q1, media, media_rec, mediana, moda,var, desvest, q3, max))
nombres = c("Cantidad registros","Mínimo", "Q1", "Media", "Media recortada", "Mediana", "Moda","Varianza", "Desviación Estándar", "Q3", "Máximo")

desc_variables = as.data.frame(rbind(nombres,descriptivos))

print(str_c("Descriptivos", "-", variables[i]))
print(desc_variables)
  
}
## [1] "Descriptivos-precio_millon"
##                              V1     V2  V3               V4               V5
## nombres      Cantidad registros Mínimo  Q1            Media  Media recortada
## descriptivos                 41    298 530 752.048780487805 739.384615384615
##                   V6   V7               V8                  V9 V10    V11
## nombres      Mediana Moda         Varianza Desviación Estándar  Q3 Máximo
## descriptivos     640  620 112164.497560976    334.909685678058 910   1700
## [1] "Descriptivos-Area_contruida"
##                              V1     V2  V3               V4               V5
## nombres      Cantidad registros Mínimo  Q1            Media  Media recortada
## descriptivos                 41     86 151 200.088536585366 198.580256410256
##                   V6   V7       V8                  V9              V10    V11
## nombres      Mediana Moda Varianza Desviación Estándar               Q3 Máximo
## descriptivos     186  149      220    4895.97238780488 69.9712254273489    224
##                             V12
## nombres      Cantidad registros
## descriptivos                373

Paso 3.1 Visualización en Mapa Interactivo icono circulo

require(leaflet)
library(htmltools)

etiquetas = c( 'ID: ',datos_sub$ID,', Precio: ', datos_sub$precio_millon, ', Area: ', datos_sub$Area_contruida, ', Barrio: ', datos_sub$Barrio,', Lat: ',datos_sub$Cordenada_latitud,', Long: ',datos_sub$cordenada_longitud)

leaflet() %>% addCircleMarkers(lng = datos_sub$cordenada_longitud,lat = datos_sub$Cordenada_latitud,radius = 1,color = "black",label =htmlEscape(str_c("Barrio:",datos_sub$Barrio," ",datos_sub$Zona))) %>% addTiles()

Paso 3.2 Visualización en Mapa Interactivo icono defecto

require(leaflet)
library(htmltools)

etiquetas = c( 'ID: ',datos_sub$ID,', Precio: ', datos_sub$precio_millon, ', Area: ', datos_sub$Area_contruida, ', Barrio: ', datos_sub$Barrio,', Lat: ',datos_sub$Cordenada_latitud,', Long: ',datos_sub$cordenada_longitud)

leaflet() %>% addMarkers(lng = datos_sub$cordenada_longitud,lat = datos_sub$Cordenada_latitud,label =htmlEscape(str_c("Barrio:",datos_sub$Barrio," ",datos_sub$Zona))) %>% addTiles()

Paso 4.1. Exploración Bivariada entre Precio y Área Construida

require(ggplot2)
require(plotly)

g1=ggplot(data=datos_sub,aes(y=precio_millon,x=Area_contruida)) + geom_point() + geom_smooth()
ggplotly(g1)

Paso 4.1. Exploración Bivariada entre Precio y Área Construida filtrada por area

pos3=which(datos_sub$Area_contruida<500)
datos_sub2=datos_sub[pos3,]

g2=ggplot(data=datos_sub2,aes(y=precio_millon,x=Area_contruida)) + geom_point() + geom_smooth()
ggplotly(g2)