##ACTIVIDAD 1 - Wilmer Castaño
- Filtrar solo apartamentos, en un barrio de preferencia y tener en cuenta las variaciones que este puede presentar por ser un campo abierto
library(readxl)
Datos <- read_excel("E:/Data Science/Metodos y simulacion/Sesion 2022-01-16/YDRAY-Datos_Vivienda.xlsx")
ID=1:dim(Datos)[1]
Datos=data.frame(ID,Datos)
require(RecordLinkage)
barrio=c("ciudad country","ciudad capri","ciudad córdoba reservado","ciudad cordoba","ciudad 2000","ciudad córdoba","ciudad jardin","ciudad jardin pance","ciudad jardín")
jarowinkler("ciudad jardín",barrio)
## [1] 0.7904762 0.8357143 0.7745801 0.8180952 0.8493506 0.8332468 0.8989011
## [8] 0.8406015 1.0000000
which(jarowinkler("ciudad jardín",barrio)>0.84)
## [1] 5 7 8 9
##se calibra el parametro de jarowinkler en 0.84 para el nombre del barrio y se restringe a que sean solo apartamentos, para quitar algunos datos atipicos se limita precio menor a un millon y medio y latitud hasta 3.38 ya que al ser superior incluye puntos fuera del barrio que estan mal posicionados
pos=which(jarowinkler("ciudad jardín",Datos$Barrio)>0.84 &Datos$Tipo=="Apartamento" &Datos$Cordenada_latitud<3.38 &Datos$precio_millon<1500)
Datos_sub=Datos[pos,]
head(Datos_sub)
| 3252 |
3252 |
Zona Sur |
5 |
6 |
430 |
108 |
2 |
3 |
3 |
Apartamento |
ciudad jardv<U+2260>n |
-76.52500 |
3.36700 |
| 3313 |
3313 |
Zona Sur |
NA |
6 |
320 |
95 |
1 |
3 |
3 |
Apartamento |
ciudad jardv<U+2260>n |
-76.52592 |
3.36378 |
| 3445 |
3445 |
Zona Sur |
6 |
6 |
328 |
93 |
1 |
3 |
3 |
Apartamento |
ciudad jardv<U+2260>n |
-76.52630 |
3.36477 |
| 3469 |
3469 |
Zona Sur |
9 |
6 |
285 |
81 |
1 |
2 |
3 |
Apartamento |
ciudad jardv<U+2260>n |
-76.52654 |
3.36404 |
| 3472 |
3472 |
Zona Sur |
11 |
6 |
315 |
85 |
1 |
2 |
3 |
Apartamento |
ciudad jardv<U+2260>n |
-76.52656 |
3.36383 |
| 3478 |
3478 |
Zona Sur |
NA |
6 |
320 |
96 |
1 |
3 |
3 |
Apartamento |
ciudad jardv<U+2260>n |
-76.52660 |
3.36437 |
- Presentar una exploración inicial de los datos, ejemplo: conteo de cuantos registros quedaron, precio promedio , area promedio entre otros (aprox unos 5 datos clave).
##Exploracion inicial
Precio_promedio=mean(Datos_sub$precio_millon,na.rm = TRUE)
Desviacion_precio=sd(Datos_sub$precio_millon,na.rm = TRUE)
Mediana_precio=median(Datos_sub$precio_millon,na.rm = TRUE)
Area_promedio=mean(Datos_sub$Area_contruida,na.rm = TRUE)
Habitaciones_promedio=mean(Datos_sub$Habitaciones,na.rm = TRUE)
Cantidad_ofertas=length(Datos_sub$Tipo)
Resultado=data.frame(Cantidad_ofertas,Precio_promedio,Desviacion_precio,Mediana_precio,Area_promedio,Habitaciones_promedio)
Resultado
| 205 |
523.8341 |
220.5571 |
475 |
139.8821 |
3.112195 |
- 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:
require(leaflet)
leaflet() %>% addCircleMarkers(lng = Datos_sub$cordenada_longitud,lat =Datos_sub$Cordenada_latitud, radius = 0.3,color = "Purple",label = Datos_sub$ID) %>% addTiles()
- Realizar una exploración bivariada entre el precio de la vivienda y el area por un grafico de puntos con una linea de tendencia interactiva usando ggplot2 y plotly.
require(ggplot2)
require(plotly)
Grafico1=ggplot(data=Datos_sub,aes(y=precio_millon,x=Area_contruida))+geom_point()+geom_smooth()
ggplotly(Grafico1)