1. Analisi delle variabili

getwd()

dati<- read.csv(“realestate_texas.csv”) head(dati) dim(dati) N<-dim(dati)[1]

freq_ass_city<- table(dati$city)

#il dataframe contiene 240 osservazioni per 8 variabili #delle 8 variabili solo city è una variabile qualitativa su scala nominale #le restanti variabili sono quantitative di cui mese, anno, sales e listings DISCRETE e #le restanti CONTINUE #la frequenza assoluta delle osservazioni è uguale per la variabile qualitativa #analizzata il che permette di fare confronti su vendite, prezzi e tempi di svuotamento #di magazzino. #tali analisi possono essere condotte su serie temporali concatenando l’informazione #mese e anno per poterla utilizzare nei vari grafici.

#2. Indici di posizione, variabilità e forma

getwd() dati <- read.csv(“realestate_texas.csv”)

attach(dati) table(city) #la variabile qualitativa city è definibile quadrimodale

min(sales) max(sales)

min(volume) max(volume)

min(median_price) max(median_price)

min(listings) max(listings)

min(months_inventory) max(months_inventory)

median(sales) median(median_price)

View(dati)

quantile(sales) quantile(sales, seq(0,1,0.1))

mean(sales) mean(median_price)

distr_classi_sl<-cut(sales, seq(83,max(sales),30)) distr_classi_sl table(distr_classi_sl)

distr_classi_mp<-cut(median_price, seq(min(median_price),20000)) distr_classi_sl table(distr_classi_sl)

summary(sales) summary(median_price) summary(listings) summary(months_inventory)

boxplot(median_price~city, col=“blue”)

install.packages(“ggplot2”)

library(ggplot2)

ggplot(data=dati)+ geom_boxplot(aes(x=city, y=median_price), col=“black”, fill=“blue”)

ggplot(data=dati)+ geom_boxplot(aes(x=city, y=sales), col=“red”, fill=“lightblue”)

dati <- read.csv(“realestate_texas.csv”)

attach(dati)

range(median_price) range(sales)

IQR(median_price) IQR(sales)

summary(median_price) summary(sales)

n<-length(sales) mu<-mean(sales)

sd(sales) sd(median_price)

CV<-function(x){ return(sd(x)/mean(x)*100) } #3. Identificazione delle variabili con maggiore variabilità e asimmetria

CV(sales) CV(median_price)

install.packages(“moments”) library(moments)

norm.sales<-rnorm(length(sales),mean(sales), sd(sales)) plot(density(norm.sales)) abline(v=mean(sales), col=3)

skewness(sales) kurtosis(sales)-3

norm.md<-rnorm(length(median_price),mean(median_price), sd(median_price)) plot(density(norm.md)) abline(v=mean(median_price), col=3)

skewness(median_price) kurtosis(median_price)-3

norm.mi<-rnorm(length(months_inventory),mean(months_inventory), sd(months_inventory)) plot(density(norm.mi)) abline(v=mean(months_inventory), col=3) skewness(months_inventory) kurtosis(months_inventory)-3

norm.listings<-rnorm(length(listings),mean(listings), sd(listings)) plot(density(norm.listings)) abline(v=mean(listings), col=3) skewness(listings) kurtosis(listings)-3

#dalle analisi condotte si deduce che il prezzo delle case sia più alto per la città #di Bryan College Station mentre il più basso per Wichita Falls. Dal primo boxplot #creato risulta che siano simili i range di valori di prezzo medio fra le varie #città. Con il secondo boxplot prodotto si evince come la città che ha registrato il #più alto numero di vendite mensile sia Tyler e che le più variabili rispetto alla #media siano le vendite della città di BC Station. #Analizzando la varianza dei prezzi medi osservati e delle vendite si deduce che la #variabile median_price sia caratterizzata da una minore varianza rispetto alla #variabile sales (come si evince anche dai boxplot)

#curtosi e asimettria per la variabile sales sono molto vicini allo 0. Ciò indica che la variabile ha una distribuzione molto vicina alla normale standard. La riga verde del grafico indica quanto il punto più alto della curva di distribuzione sia vicino alla media.

#per la variabile median_price, asimmetria e curtosi sono solo leggermente più lontani da una nomrale standard #anche per le variabili months_inventory e listings risultano basse asimettria e curtosi

#4. Creazione di classi per una variabile quantitativa min(sales) max(sales)

dati$sales_cl<- cut(sales, breaks = c(50, 150, 250, 350, 450)) View(dati)

ni<-table(dati$sales_cl) fi<-ni/n Ni<- cumsum(ni) Fi<- Ni/n cbind(ni, fi, Ni, Fi) distr_freq_cl_sales<-as.data.frame(cbind(ni, fi, Ni, Fi)) distr_freq_cl_sales

table(dati\(city, dati\)sales_cl) table(dati\(city, dati\)sales_cl)/n

barplot(distr_freq_cl_sales$ni, main = “distribuzione di frequenza delle classi di vendita”, xlab = “classi di vendita”, ylab= “frequenze assolute”, ylim = c(0, 100), col = “blue”, names.arg = rownames(distr_freq_cl_sales))

install.packages(“dplyr”) library(dplyr)

dati %>% group_by(city) %>% summarise(media=mean(sales), dev.st=sd(sales))

gini.index<- function(e){ ni= table(e) fi=ni/length(e) fi2=fi^2 J=length(table(e)) gini=1 -sum(fi2) gini.normalizzato = gini/((J-1)/J)

return(gini.normalizzato) }

table(city) gini.index(city)

#la variabile city ha massima eterogeneità

#5. Calcolo della probabilità

length(month)/12 table(month)

prob.luglio<-20/240100 prob.meseanno<-1/240100 table(city) prob.Beaumont<-60/240*100 prob.luglio prob.meseanno prob.Beaumont

#6. Creazione di nuove variabili6. Creazione di nuove variabili

dati\(month_year <- paste(dati\)month, dati\(year, sep = "/") dati\)month_year

dati\(medium_price<- (dati\)volume)/(dati$sales)*1000000

dati\(ad_effectiveness<- (dati\)listings)/(dati$sales)

dati$ad_effectiveness

#il rapporto fra i volumi di vendita mensili e le vendite restituisce il prezzo medio di vendita mentre il rapporto fra il numero totale di annunci e le vendite effettivamente conseguite indica quanto siano efficai gli annunci.

#7. Analisi condizionata

install.packages(“dplyr”) library(dplyr)

dati %>% group_by(city, year)%>% summarise(media=mean(medium_price), dev.st=sd(medium_price)) dati %>% group_by(city, year)%>% summarise(media=mean(sales), dev.st=sd(sales))

install.packages(“ggplot2”) library(ggplot2) ggplot(data=dati)+ geom_line(aes(x=month_year, y=sales), col=“red”, lwd=1)

#Sommare le vendite per anno library(dplyr) sales.year.city <- dati %>% group_by(year, city) %>% summarise(year_sales = sum(sales)) print(sales.year.city)

df<- data.frame(sales.year.city) library(ggplot2) ggplot(data=df)+ geom_bar(aes(x=year,y=year_sales,fill=city), stat =“identity”)

#le vendite generali per anno segnano un trendi di crescita se si esclude il 2011 in cui c’è stata una leggera flessione. A livello di città WICHITA Falls segna una vendita con livelli costanti durante gli anni mentre le altre città in esame un aumento di vendite negli anni.

#Sommare le vendite per mese library(dplyr) sales.month.city <- dati %>% group_by(month, city) %>% summarise(month_sales = sum(sales))

sales.month.city

df2<- data.frame(sales.month.city) library(ggplot2) ggplot(data=df2)+ geom_bar(aes(x=month,y=month_sales,fill=city), stat =“sum”)+ scale_x_continuous(breaks=seq(0,12,1))

#il grafico prodotto mostra che i mesi in cui le vendite sono più alte sono i mesi da maggio ad agosto. Per la città Wichita Falls il trend non sembra confermato ma le vendite si ditribuiscono in maniera costante fra durante l’anno.

#8. Creazione di visualizzazioni con ggplot2 attach(dati) boxplot(dati\(median_price~dati\)city, col=“blue”)

attach(dati) dati\(dates <- as.Date(paste0("1/", month_year), format = "%d/%m/%Y") print(dati\)dates)

library(ggplot2) linechart1 <- ggplot(dati)+ geom_line(aes(x = dates, y = sales, group = city, color = city))

print(linechart1)

linechart2 <- ggplot(dati)+ geom_line(aes(x = dates, y = medium_price, group = city, color = city))+ labs(x=“Anni”,y=“Prezzo medio di vendita”)+ theme(panel.background = element_rect(fill = “white”, color = NA))

print(linechart2)

#In base all’analisi condotta sulle osservazioni delle variabili a disposizione si possono dedurre le seguenti conclusioni: #- la base dati è composta da 240 osservazioni, euqamente distribuite per l’unica variabile qualitativa oggetto di studio (60) #- il prezzo medio di vendita più basso si registra per la città di Whichita Falls mentre il prezzo più alto per la città di Bryan College Station. #- il più alto livello di vendite si registra per la città di Tyler. Da notare come per la città Bryan College station si registra una variabilità superiore rispetto alle altre città in base al volume di vendita. Da questo punto di vista la variabilità più bassa si registra per Whichita Falls. #- le variabili analizzate con grafici a densità mostrano che le stesse si ditribuiscano quasi tutte come una normale standardizzata con piccole differenze fra le variabili di media e deviazione standard #- Distribuendo le vendite in classi si nota come le classi con maggiori osseervazioni solo le classi da 50 a 150 e da 150 a 250 #- se si considerano le vendite per anno per le varie città si nota che c’è stato sempre un incremento costante delle vnedite nelle varie città tranne per il 2011 (per tutte le città). La considerazione non è confermata dall’andamento delle sole vendite della città Whichita che è stato quasi costante fra i vari anni #- Analizzandole vendite per città a livello mensile si nota che i mesi in cui le vendite sonopiù alte sono i mesi di maggio, giugno, luglio e agosto. #- attraverso l’utilizzo di linechart si sono analizzate le vendite e il prezzo medio negli anni per le varie città. Il grafico conferma come la variabilità delle vendite di Whichita falls è più bassa nel tempo rispetto alle altre città ed è anche la città conle vendite più basse. la crescita nel 2013 e 2014 per le città Tyler e BC Station sono più marcate. #- Inoltre la città di BC Station seppur negli ultimi mesi analizzati ha vistro conrarre il numero di vendite ha i prezzi medi delle case vendute più alti rispetto alle altre città analizzate.