Actividad 1

Con base en los datos OLX realizar los siguientes pasos:

library(readxl)
datos <- read_excel("D:/01-Pontificia Universidad Javeriana/01_02_Metodos_y_simulacion_estadistica/Unidad_1_Analisis_Exploratorio_de_Datos/Actividad_1/YDRAY-Datos_Vivienda.xlsx", 
    sheet = "Datos Vivienda")
head(datos)

Punto 1

  1. Filtrar solo apartamentos, en un barrio de preferencia y tener en cuenta las variaciones que este puede presentar por ser un campo abierto, tener en cuenta la siguiente ayuda:
require(RecordLinkage)
barrio = c("ingenio", "el ingenio", "valle del lili", "INGENIO", "pance", "ciudad jardin")
jarowinkler("ingenio", barrio)
## [1] 1.0000000 0.8047619 0.4761905 0.0000000 0.5619048 0.4065934
pos= which(datos$Barrio == "alamos")
datos_sub=datos[pos, ]

head(datos_sub)
pos2= which(jarowinkler("alamos", datos$Barrio)>0.8)
pos
##  [1]  187  905  906  907  935  936  947  986 1127 1134 1666 3409 3986 4600
pos2
##  [1]  187  905  906  907  935  936  947  986 1127 1134 1241 1666 3355 3409 3986
## [16] 4351 4408 4508 4600 4654 4995 5107 5117 5156 5157 5298 5317 5370 5501 5608

Solución punto 1

pos2 <- which(jarowinkler("alamos", datos$Barrio)>0.8 & datos$Tipo == "Apartamento")
datos_sub = datos[pos2, ]
head(datos_sub)

Punto 2

  1. Presentar una exploración inicial de los datos, ejemplo: conteo de cuantos registros quedaron, precio promedio, area promedio entre otros (aproximadamente unos 5 datos calve)

Tabla de indicadores importantes

promedio_precio <- mean(datos_sub$precio_millon,na.rm=TRUE)
promedio_area <- mean(datos_sub$Area_contruida,na.rm=TRUE)
cantidad_ofertas <- length(datos_sub$Zona)
print(promedio_precio)
## [1] 134.7333
print(promedio_area)
## [1] 67.6
print(cantidad_ofertas)
## [1] 15
resultado <- data.frame(promedio_precio,promedio_area,cantidad_ofertas )
resultado

Punto 3

  1. Presentar en un mapa interactivo los resultados de las viviendas y discutir un poco sobre posibles errores en la geocodificación dado que el campo es abierto:
library(leaflet)

La tabla de atos no tienen columna de ID, por ello al correr el código para generar el mapa genera un error

Se crea el ID

ID=1:dim(datos)[1]
datos=data.frame(ID,datos)
ID2=1:dim(datos_sub)[1]
datos_sub=data.frame(ID2,datos_sub)
leaflet() %>% addCircleMarkers(lng = datos_sub$cordenada_longitud,lat = datos_sub$Cordenada_latitud,radius = 0.3,color = "blue",label = datos_sub$ID) %>% addTiles()

Punto 4

  1. Realizar una exploración bivariada entre el precio de la vivienda y el area por un gráfico de puntos con línea de tendencia interactiva usando ggplot2 y plotly.
require(ggplot2)
require(plotly)
g1=ggplot(data = datos_sub,aes(y=precio_millon,x=Area_contruida)) + geom_point() + geom_smooth()
ggplotly(g1)
pos3=which(datos_sub$Area_contruida<100)
datos_sub2=datos_sub[pos3,]

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