title: “Actividad 1” author: “Julian Diaz” date: “5/3/2022” output: html_document editor_options: chunk_output_type: console
Ejercicio 1 Paso 1. Filtrar un barrio de interes y solo apartamentos
library(readxl)
datos = read_excel("~/Datos.xlsx")
head (datos)
| Zona | piso | Estrato | precio_millon | Area_contruida | parqueaderos | Banos | Habitaciones | Tipo | Barrio | cordenada_longitud | Cordenada_latitud |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Zona Sur | 2 | 6 | 880 | 237 | 2 | 5 | 4 | Casa | pance | -76.46300 | 3.43000 |
| Zona Oeste | 2 | 4 | 1200 | 800 | 3 | 6 | 7 | Casa | miraflores | -76.46400 | 3.42800 |
| Zona Sur | 3 | 5 | 250 | 86 | NA | 2 | 3 | Apartamento | multicentro | -76.46400 | 3.42900 |
| Zona Sur | NA | 6 | 1280 | 346 | 4 | 6 | 5 | Apartamento | ciudad jardv<U+2260>n | -76.46400 | 3.43300 |
| Zona Sur | 2 | 6 | 1300 | 600 | 4 | 7 | 5 | Casa | pance | -76.46438 | 3.43463 |
| Zona Sur | 3 | 6 | 513 | 160 | 2 | 4 | 4 | Casa | pance | -76.46438 | 3.43463 |
ID=1:dim(datos)[1]
datos=data.frame(ID,datos)
pos=which(datos$Barrio=="pance")
datos_sub=datos[pos,]
require(RecordLinkage)
pos2=which(jarowinkler("caney",datos$Barrio)>0.8 & datos$Tipo=="Apartamento")
datos_sub=datos[pos2,]
head(datos_sub)
| ID | Zona | piso | Estrato | precio_millon | Area_contruida | parqueaderos | Banos | Habitaciones | Tipo | Barrio | cordenada_longitud | Cordenada_latitud | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1323 | 1323 | Zona Sur | 6 | 4 | 200 | 78 | 1 | 2 | 3 | Apartamento | caney | -76.51500 | 3.38900 |
| 1401 | 1401 | Zona Sur | NA | 4 | 150 | 57 | NA | 2 | 3 | Apartamento | caney | -76.51593 | 3.38397 |
| 1469 | 1469 | Zona Sur | 7 | 4 | 160 | 60 | NA | 2 | 3 | Apartamento | caney | -76.51600 | 3.38500 |
| 1470 | 1470 | Zona Sur | 3 | 5 | 300 | 105 | 1 | 2 | 3 | Apartamento | caney | -76.51600 | 3.38300 |
| 1471 | 1471 | Zona Sur | 3 | 4 | 170 | 60 | NA | 2 | 3 | Apartamento | caney | -76.51600 | 3.38200 |
| 1472 | 1472 | Zona Sur | 8 | 3 | 288 | 85 | 1 | 2 | 4 | Apartamento | caney | -76.51600 | 3.38200 |
Paso 2. Exploración incial
#Caracteristicas de los apartamentos ofertados en el Barrio caney
total_aptos=nrow(datos_sub)
#Tabla precio
promedio_precio=mean(datos_sub$precio_millon,na.rm = TRUE)
mediana_precio=median(datos_sub$precio_millon,na.rm = TRUE)
maximo_precio=max(datos_sub$precio_millon)
minimo_precio=min(datos_sub$precio_millon)
#Tabla área construida
promedio_area=mean(datos_sub$Area_contruida,na.rm = TRUE)
mediana_area=median(datos_sub$Area_contruida,na.rm = TRUE)
maximo_area=max(datos_sub$Area_contruida)
minimo_area=min(datos_sub$Area_contruida)
#Tabla baños,habitaciones y parqueaderos
promedio_hab=mean(datos_sub$Habitaciones,na.rm = TRUE)
promedio_bano=mean(datos_sub$Banos,na.rm = TRUE)
mediana_parq=median(datos_sub$parqueaderos,na.rm = TRUE)
#Generación tablas resumen
resultado_precio=data.frame(promedio_precio,mediana_precio,maximo_precio,minimo_precio)
resultado_area=data.frame(promedio_area,mediana_area,maximo_area,minimo_area)
resultado_bhp=data.frame(promedio_hab,mediana_parq,promedio_bano)
total_aptos
## [1] 59
resultado_precio
| promedio_precio | mediana_precio | maximo_precio | minimo_precio |
|---|---|---|---|
| 203.1356 | 170 | 330 | 125 |
resultado_area
| promedio_area | mediana_area | maximo_area | minimo_area |
|---|---|---|---|
| 71.74576 | 65 | 134 | 49 |
resultado_bhp
| promedio_hab | mediana_parq | promedio_bano |
|---|---|---|
| 2.61017 | 1 | 2.084746 |
Paso 3. Visualización Mapa interactivo
require(leaflet)
leaflet()%>%addCircleMarkers(lng=datos_sub$cordenada_longitud,lat=datos_sub$Cordenada_latitud,radius=0.25,color="black",label=datos_sub$ID)%>%addTiles()
Paso 4. Exploración Bivariada entre Precio vs Area Construida
require(ggplot2)
## Loading required package: ggplot2
require(plotly)
## Loading required package: plotly
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
g1=ggplot(data=datos_sub,aes(y=precio_millon,x=Area_contruida))+geom_point()+geom_smooth()
ggplotly(g1)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
pos3=which(datos_sub$Area_contruida<130)
datos_sub2=datos_sub[pos3,]
g2=ggplot(data=datos_sub2,aes(y=precio_millon,x=Area_contruida))+geom_point()+geom_smooth()
ggplotly(g2)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'