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:
library(readxl)
datos <- read_excel("G:/ACADEMIA/JAVERIANA CALI/1. SEMESTRE 2022-I/2. METODOS Y SIMULACION/Datos_Vivienda.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 |
Barrio de interes: valle del lili
require(RecordLinkage)
## Loading required package: RecordLinkage
## Warning: package 'RecordLinkage' was built under R version 4.1.2
## Loading required package: DBI
## Loading required package: RSQLite
## Loading required package: ff
## Warning: package 'ff' was built under R version 4.1.2
## Loading required package: bit
##
## Attaching package: 'bit'
## The following object is masked from 'package:base':
##
## xor
## Attaching package ff
## - getOption("fftempdir")=="C:/Users/JUANG/AppData/Local/Temp/RtmpiWecIL/ff"
## - getOption("ffextension")=="ff"
## - getOption("ffdrop")==TRUE
## - getOption("fffinonexit")==TRUE
## - getOption("ffpagesize")==65536
## - getOption("ffcaching")=="mmnoflush" -- consider "ffeachflush" if your system stalls on large writes
## - getOption("ffbatchbytes")==16777216 -- consider a different value for tuning your system
## - getOption("ffmaxbytes")==536870912 -- consider a different value for tuning your system
##
## Attaching package: 'ff'
## The following objects are masked from 'package:utils':
##
## write.csv, write.csv2
## The following objects are masked from 'package:base':
##
## is.factor, is.ordered
## RecordLinkage library
## [c] IMBEI Mainz
##
## Attaching package: 'RecordLinkage'
## The following object is masked from 'package:bit':
##
## clone
## The following object is masked from 'package:base':
##
## isFALSE
barrio=c("valle del lili","valle de lili")
which(jarowinkler("valle del lili",barrio)>0.8)
## [1] 1 2
jarowinkler("valle del lili","valle de lili")
## [1] 0.9549451
pos=which(jarowinkler("valle del lili",datos$Barrio)>0.8)
datos_sub=datos[pos,]
head(datos_sub)
Zona | piso | Estrato | precio_millon | Area_contruida | parqueaderos | Banos | Habitaciones | Tipo | Barrio | cordenada_longitud | Cordenada_latitud |
---|---|---|---|---|---|---|---|---|---|---|---|
Zona Sur | 5 | 5 | 310 | 82.5 | 1 | 2 | 3 | Apartamento | valle del lili | -76.46438 | 3.43463 |
Zona Sur | 9 | 4 | 240 | 80.0 | 1 | 2 | 3 | Apartamento | valle del lili | -76.46438 | 3.43463 |
Zona Sur | NA | 5 | 230 | 70.0 | 1 | 2 | 2 | Apartamento | valle del lili | -76.46500 | 3.43600 |
Zona Sur | NA | 5 | 160 | 63.0 | NA | 2 | 2 | Apartamento | valle del lili | -76.46500 | 3.43600 |
Zona Sur | 6 | 5 | 200 | 71.0 | 1 | 2 | 3 | Apartamento | valle del lili | -76.46500 | 3.43600 |
Zona Sur | NA | 5 | 270 | 76.0 | NA | 2 | 3 | Apartamento | valle del lili | -76.46500 | 3.43600 |
##Actividad 2 Presentar una exploracion inicial de los datos, ejemplo: conteo de cuantos registros quedaron, precio promedio, area promedio entre otros
#Cantidad de registros barrio: Valle del Lili
dim(datos_sub)
## [1] 1011 12
#Resumen por Tipo de inmueble
barplot(table(datos_sub$Tipo),
col= c('#6495ED','#00008B'))
Analisis de Precios por Tipo de Inmueble
library (sqldf)
## Loading required package: gsubfn
## Loading required package: proto
sqldf('SELECT Tipo,
avg(precio_millon) as precio_millon
FROM datos_sub
GROUP BY Tipo')
Tipo | precio_millon |
---|---|
Apartamento | 224.5718 |
Casa | 335.8810 |
boxplot(precio_millon ~ Tipo, data = datos_sub,
main='Comparacion de precios por Tipo de inmuebles',
ylab = 'Precio en Millones',
xlab = 'Tipo de Inmueble',
col= c('#6495ED','#00008B'))
Analisis de areas construidas por tipo de inmueble
sqldf('SELECT Tipo,
avg(Area_contruida) as Area_contruida
FROM datos_sub
GROUP BY Tipo')
Tipo | Area_contruida |
---|---|
Apartamento | 74.97807 |
Casa | 165.43679 |
boxplot(Area_contruida ~ Tipo, data = datos_sub,
main='Comparacion de areas construidas por Tipo de inmuebles',
ylab = 'Area en m^2',
xlab = 'Tipo de Inmueble',
col= c('#6495ED','#00008B'))
Cantidad de Baños
hist(datos_sub$Banos,
main = 'Cantidad de banos por inmueble',
xlab = 'Banos',
col = 'ivory')
Ofertas por estrato en Valle de Lili
sqldf('SELECT Estrato,
avg(precio_millon) as precio_millon
FROM datos_sub
GROUP BY Estrato
ORDER BY Estrato')
Estrato | precio_millon |
---|---|
3 | 203.7500 |
4 | 214.1468 |
5 | 281.7400 |
6 | 352.0000 |
boxplot( precio_millon ~ Estrato, data = datos_sub,
main='Comparacion de Precios por NSE',
ylab = 'Precio en Millones',
xlab = 'NSE',
col= 'ivory')
##Actividad 3 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)
## Loading required package: leaflet
## Warning: package 'leaflet' was built under R version 4.1.2
leaflet()%>%addCircleMarkers(lng=datos_sub$cordenada_longitud, lat=datos_sub$Cordenada_latitud,radius = 0.1,color = 'red')%>%
addTiles()
##Actividad 4 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)
## Loading required package: ggplot2
require(ploty)
## Loading required package: ploty
## Warning in library(package, lib.loc = lib.loc, character.only = TRUE,
## logical.return = TRUE, : there is no package called 'ploty'
pos3=which(datos_sub$Area_contruida<250)
datos_sub2=datos_sub[pos3,]
ggplot(data=datos_sub2,aes(y=precio_millon, x=Area_contruida)) + geom_point() + geom_smooth()
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'