# htmltools::includeHTML("https://kepler.gl/demo/map?mapUrl=https://dl.dropboxusercontent.com/s/nq8hdpw5h851axg/keplergl_vh7lis1e.json")
# !pip install keplergl
# !pip install matplot
#
# $ jupyter nbextension install --py --sys-prefix keplergl # can be skipped for notebook 5.3 and above
# $ jupyter nbextension enable --py --sys-prefix keplergl # can be skipped for notebook 5.3 and above
# from keplergl import KeplerGl
# with open('data/kc_house_data_numeric.csv', 'r') as f:
# csvData = f.read()
# map_1 = KeplerGl(height=400)
# map_1.add_data(data=csvData, name='data_2')
# map_1
#
# import matplotlib.pyplot as plt
# plt.show()
Esaminiamo i dati kc_house_data relativi alle transazioni immobiliari per scoprire come il prezzo sia influenzato dalla metratura delle abitazioni, considerando eventualmente anche altre caratteristiche degli immobili. L’obiettivo di questa analisi è quindi quello di individuare eventuali connessioni tra le diverse variabili tramite la creazione di un modello di regressione.
Nel grafico (immagine seguente) sono presenti degli esagoni con una scala di colori dal blu al rosso, se la media delle case all’interno dell’esagono è bassa sarà più tendente al blu, viceversa, di colore rosso. L’altezza delle barre rappresenta la densità di case nell’area coperta dall’esagono. La mappa interattiva è disponibile cliccando qui.
knitr::include_graphics("image/kepler.png")
Per cominciare, dobbiamo importare i dati \(kc_house_data\) e rappresentarli in modo appropriato. Utilizzando i pacchetti giusti e le funzioni adeguate, possiamo caricare i dati in un dataframe e visualizzarli in modo da avere una prima idea delle informazioni a disposizione e di come siano organizzati. Successivamente, possiamo utilizzare diverse tecniche di rappresentazione dei dati, come grafici e tabelle, per esplorare ulteriormente i dati e comprendere meglio la relazione tra prezzo e metratura delle abitazioni.
# dati presi da kaggle
df = "data/kc_house_data.csv" %>%
read.csv() %>%
tibble()
# creo nuovi file csv per la mappa Kepler.gl
"data/kc_house_data.csv" %>%
read.csv() %>%
tibble() %>%
mutate_at("price", as.numeric) %>%
write.csv(file = "data/kc_house_data_numeric.csv", quote = T)
"data/kc_house_data.csv" %>%
read.csv() %>%
tibble() %>%
mutate_at("price", as.numeric) %>%
slice(which(price > quantile(df$price,.999) %>% as.numeric)) %>%
write.csv(file = "data/lusso999.csv", quote = T)
df
pal = with(df, colorFactor(brewer.pal(10,"RdYlGn"), price))
dfPopup = df %>%
mutate(popup_info = paste("Prezzo della casa: ", price, " $", "</br>",
"Superficie del soggiorno: ", sqft_living, "</br>",
"Superficie del seminterrato: ", sqft_basement, "</br>",
"Superficie del lotto: ", sqft_lot, "</br>",
"Numero di piani: ", floors, "</br>",
"Numero di bagni: ", bathrooms, "</br>",
"Numero di camere: ", bedrooms, "</br>",
"Vista sul mare: ", waterfront, "</br>",
"Data di vendita dell'immobile: ", date, "</br>",
"Numero di visite: ", view, "</br>",
"Valutazione: ", grade, " ", condition, "</br>",
"Coordinate: ", lat, " ", long, "</br>",
"Anno di costruzione: ", yr_built, "</br>",
"Anno del restauro: ", yr_renovated, "</br>"))
leaflet() %>%
addTiles() %>%
addCircleMarkers(data = dfPopup,
lat = ~ lat,
lng = ~ long,
radius = ~ 1,
color = ~ pal(price),
popup = ~ popup_info)