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)