```{setwd(“C:/Users/Marce/OneDrive/Desktop/Cartella_R”)} dati <- read.csv(“realestate_texas.csv”, sep=“,”) head(dati,5)
# Punto 2: Indici di posizione, variabilità e forma
```{attach(dati)}
summary(sales)
summary(volume)
summary(median_price)
summary(listings)
summary(months_inventory)
sd(sales)
sd(volume)
sd(median_price)
sd(listings)
sd(months_inventory)
CV<- function(x){
return(sd(x)/mean(x)*100)
}
CV(sales)
CV(volume)
CV(median_price)
CV(listings)
CV(months_inventory)
IQR(sales)
IQR(volume)
IQR(median_price)
IQR(listings)
IQR(months_inventory)
install.packages("moments")
library(moments)
skewness(sales)
skewness(volume)
skewness(median_price)
skewness(listings)
skewness(months_inventory)
kurtosis(sales)-3
kurtosis(volume)-3
kurtosis(median_price)-3
kurtosis(listings)-3
kurtosis(months_inventory)-3
N<- dim(dati)[1]
sales_CL <- cut(dati$sales,
breaks= c(79,127, 175.5,247,423))
table(dati$city, dati$sales_CL)
table(dati$city, dati$sales_CL)/N
table(dati$year, dati$sales_CL)
table(dati$year, dati$sales_CL)/N
table(dati$month, dati$sales_CL)
table(dati$month, dati$sales_CL)/N
# Come primo step: summary su sales, volume, median_price, listings e months_inventory
# in modo da avere subito minimo, massimo, primo e terzo quartile, media e mediana
# Poi deviazione standard (non ho messo la varianza, ma è il quadrato), coefficiente di
# variazione (con relativa funzione), e range interquartile. Per indici di forma si sono
# calcolati asimmetria e kurtosi. Sono uscite 3 asimmetrie positive(sales, volume, listings),
# una negativa (median_price) e ua prossima allozero, quindi distribuizione normale
# (months_inventory). Per la kurtosi: 4 platicurtiche e una leptocurtica (volume).
# Infine distribuizione di frequenze assolute reltative sono state fatte su city, year e months
# in questo caso su sales, si sarebbe pototuto fare anche per altre variabili. Con tutti questi
# step si ha un idea abbastanza chiara della situazione dei dati e della loro distribuizione.
```{sd(sales)} sd(volume) sd(median_price) sd(listings) sd(months_inventory) CV(sales) CV(volume) CV(median_price) CV(listings) CV(months_inventory)
skewness(sales) skewness(volume) skewness(median_price) skewness(listings) skewness(months_inventory)
# Punto 4. Creazione di classi per una variabile quantitativa
``` sales_cl
breaks= c(79,150, 220,290,380, 423))
N<- dim(dati)[1]
ni <- table(sales_CL)
fi <- ni/N
Ni <- cumsum(ni)
Fi <- Ni/N
distr_freq<- as.data.frame(cbind(ni,fi,Ni,Fi))
barplot(distr_freq$ni,
main = "Distribuizione delle classi di vendite",
xlab = "Classi di vendite",
ylab = "Frequenze assolute",
ylim = c(0,100),
col = "green",
names.arg = rownames(distr_freq))
gini.index<-function(x){
ni=table(x)
fi=ni/length(x)
fi2=fi^2
j=length(table(x))
gini=1-sum(fi2)
gini.normalizzato= gini/((j-1)/j)
return(gini.normalizzato)
}
gini.index(sales_CL)
probabilità1 <- f_city/N
p_Beaumont <- probabilità1["Beaumont"]
f_month <-table(dati$month)
probabilità2 <- f_month/N
p_Luglio <- probabilità2["7"]
f_year <-table(dati$year)
probabilità3 <- f_year/N
p_2012 <- probabilità3["2012"]
P_dicembre2012 <- p_2012/12
```{dati\(mean_price <- dati\)volume/dati$sales}
conversion_rate<- dati\(sales/dati\)listings norm_time <- 1/dati\(months_inventory dati\)efficacia_annunci <- conversion_rate*norm_time
# Punto 7. Analisi condizionata
```{install.packages("dplyr")}
library(dplyr)
analisi_condizionata1<-dati %>%
group_by(city,year) %>%
summarise(
media=mean(sales),
dev.st=sd(sales)
)
ggplot(data=analisi_condizionata1)+
(aes(x = year, y = media, color = city)) +
geom_line() +
geom_point() +
facet_wrap(~city) + # Crea un grafico separato per ogni città
labs(title = "Media delle Vendite per Anno e Città",
x = "Anno",
y = "Media Vendite",
color = "Città") +
theme_bw()
analisi_condizionata2<-dati %>%
group_by(city,month) %>%
summarise(
media=mean(sales),
dev.st=sd(sales)
)
ggplot(data=analisi_condizionata2)+
(aes(x = month, y = media, color = city)) +
geom_line() +
geom_point() +
facet_wrap(~city) + # Crea un grafico separato per ogni città
labs(title = "Media delle Vendite per mese e Città",
x = "Mese",
y = "Media Vendite",
color = "Città") +
theme_bw()
# Ho generato le due analisi condizionate con le variabili anno e città e mese e citta
# rispetto alle vendite usando il pacchetto dplyr. Non ho fatto un summary in quanto
# non ne capisco il senso a questo punto. con due ggplot ho creato deu grafici a linee
# punti , creando dei grafici ad hoc per città. Diverse prove per trovare le combinazioni
# che mi soddisfacevano,
```{# per i grafici personalizzati, basta vedere quelli sopra.}
install.packages(“ggplot2”) library(ggplot2)
boxplot(median_price~city)
ggplot(data=dati)+ geom_bar(aes(x=month, y=sales, fill=city),
position = “fill”,
stat = “summary”, fun=“mean”, col =“black”)+
labs(title= “Distribuizione delle vendite per mese e città”, x =
“Mesi”,
y = “Vendite”)+
scale_y_continuous(breaks = seq(0,450,5))+ theme_classic()
ggplot(data=dati, aes(x = month, y = sales, color = year)) + geom_line(linewidth = 2) + labs( title = “Confronto dell’andamento delle vendite tra periodi”, x = “ANni”, y = “Vendite”, color = “Mesi” ) + scale_x_continuous(breaks = 1:12, labels = month.abb) + theme_minimal()
ggplot(data=dati, aes(x = year, y = sales)) + geom_line(linewidth = 2) + labs( title = “Confronto dell’andamento delle vendite tra periodi”, x = “ANni”, y = “Vendite” ) + theme_minimal()
ggplot(data=dati, aes(x = month, y = sales)) + geom_line(linewidth = 2) + labs( title = “Confronto dell’andamento delle vendite tra periodi”, x = “Mesi”, y = “Vendite” ) + scale_x_continuous(breaks = 1:12, labels = month.abb) + theme_minimal()
# Punto 9. Conclusioni
```{# Sicuramente si può dire che gli anni 2013 e 2014 sono stati anni con piu vendite e che i mesi}
# migliori risultano essere Maggio, Giugno e Luglio. Per quanto riguarda le città, la cittadine
# Tyler risulta essere quella dove si vendono piu immobili, mentre Wichita Falls dove se ne
# vendono meno
analisi_condizionata3<-dati %>%
group_by(city,listings) %>%
summarise(
media=mean(sales),
dev.st=sd(sales)
)
ggplot(data=analisi_condizionata3)+
(aes(x = listings, y = media, color = city)) +
geom_line() +
geom_point() +
facet_wrap(~city) +
labs(title = "Media delle Vendite per Città, basato sul numero delle inserzioni",
x = "Numero Inserzioni",
y = "Media Vendite",
color = "Città") +
theme_bw()
# Con questa analisi condizionata, si vede come la media delle vendite delle città varia in
# base al numero di annunci attivi, Per Tyler si hanno tanti annunci e tante vendite, per
# Wichita Falls, pochi annunci e poche vendite, situazioni intermedie per Beaumont e
# Bryan College Station. Per quest' ultima il numero di annunci è relatiamente basso, ma
# con un buon quantitativo di vendite, quindi il rapporto annunci/vendite è il migliore.
boxplot(median_price~city)
# Dal boxplot del prezzo mediano si vede come Bryan College Station ha il prezzo mediano
# piu alto. DAll'altra parte Wichita Falls riporta il prezzo mediano piu basso.
# BCS riporta anche riquadro centrale piu ampio, il che significa che ha il IQR piu ampio
# rispetto alle altre città.Sono presenti degli outliers per Beaumont e Wichina Falls.
# Beaumont e Tyler hanno prezzi mediani simili. Tuttavia, il riquadro di Beaumont è più corto
# di quello di Tyler, indicando una minore variabilità nel 50% centrale dei prezzi di vendita
# delle case.
boxplot(volume~city)
# Da questo boxplot si nota come il valore totale delle vendite per BCS Bryan-Colleil il più alto,
# mentre WF il piu basso.BCS rivela anche la maggiore variabilità di valore totale delle vendite
# Si nota come il baffo superiore di BCS è considerevolmente più lungo di quello inferiore,
# il che indica un'asimmetria positiva. Ciò suggerisce che, sebbene la mediana sia più alta,
# ci sono anche periodi con volumi di vendita totali eccezionalmente elevati che spingono
# ulteriormente l'estremità superiore della distribuzione. Sono presenti delgi outliner in Tyler.
boxplot(volume~year)
# In questo altro boxplot si nota un andamento crescente del volume delle vendite all'aumentare
# degli ann, con il valore mediano che gradualmente sale, cosi come la variabilità, indicando
# un aumento del mercato immobiare col tempo.