setwd("C:/Users/Marce/OneDrive/Desktop/Cartella_R/Statistica Descrittiva")
dati <- read.csv("realestate_texas.csv", sep=",")
head(dati,5)
Le variabili quantitative continue sono volume, median_price e months_inventory (essendo con la virgola), mentre le quantitative discrete sono sales e listing. I nome della citta è qualitativa su scala nominale. Month è qualitativa nominale, “ciclica” all’interno di anni. Year teoricamente è quantitativa continua, ma in questo caso meglio trattarla da qualitativa ordinale.
Le variabili che indentificano il tempo posso essere relazionate con le atre variabili, come le vendite, i valori mediani, ecc. in modo tale da poter generare gli andamenti nel corso del tempo e di conseguenza fornire degli insight. Possono essere compinate anche con la variabile citta in grafci a barre sovrapposte, in modo tale da avere una rappresentazione grafica semplice e efficace.
Avendo già parlato delle variabili temporali e di come esse sono relazionabili alle altre variabili; per le variabile vendite (sales) e volume si può ricavare l’andamento temporale delle numero di vendite e del volume in milioni di dollari riferito per città–> possibili analisi includono calcolo degli indici di posizione e varibilità, nonchè visualizzare la distribuzione con un grafico per vedere se segue una distribuzione normale o asimmetrica.
Dall’analisi del volume e del totale valore di vendità, si può vedere si discosta rispetto al valore mediano e fare confronti tra i prezzi mediani delle avrie città in diversi momenti temporali (mesi o anni). Per listing discorso simile a volume e sales. months_inventory fornisce informazisce su come varia il mercato nel tempo e quindi confronti con città e le altre varibili sono possibili, oltre che le distribuzioni.
install.packages("moments")
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:
https://cran.rstudio.com/bin/windows/Rtools/
Installazione pacchetto in ‘C:/Users/Marce/AppData/Local/R/win-library/4.4’
(perché ‘lib’ non è specificato)
apertura URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/moments_0.14.1.zip'
Content type 'application/zip' length 57241 bytes (55 KB)
downloaded 55 KB
pacchetto ‘moments’ aperto con successo con controllo somme MD5
I pacchetti binari scaricati sono in
C:\Users\Marce\AppData\Local\Temp\RtmpoZQwKZ\downloaded_packages
library(moments)
attach(dati)
continuos_variable <- c("sales", "volume", "median_price", "listings")
CV<- function(x){
return(sd(x)/mean(x)*100)
}
for (var_name in continuos_variable) {
if (var_name %in% names(dati)) {
cat(paste0("Summary per la variabile: ", var_name, " ---\n"))
print(summary(dati[[var_name]]))
dev_std <- sd(dati[[var_name]], na.rm = TRUE)
cat(paste0("Deviazione Standard (", var_name, "): ", round(dev_std, 2), "\n"))
cv_val <- CV(dati[[var_name]])
cat(paste0("Coefficiente di Variazione: ", round(cv_val, 2), "%\n"))
iqr_val <- IQR(dati[[var_name]], na.rm = TRUE)
cat(paste0("Interquartile Range (IQR): ", round(iqr_val, 2), "\n"))
skew_val <- skewness(dati[[var_name]], na.rm = TRUE)
cat(paste0("Asimmetria (Skewness): ", round(skew_val, 2), "\n"))
kurt_val <- kurtosis(dati[[var_name]], na.rm = TRUE) - 3
cat(paste0("Curtosi (Kurtosis): ", round(kurt_val, 2), "\n"))
cat("\n")
} else {
cat(paste0("Attenzione: La variabile '", var_name, "' non esiste nel dataframe.\n\n"))
}
}
Summary per la variabile: sales ---
Min. 1st Qu. Median Mean 3rd Qu. Max.
79.0 127.0 175.5 192.3 247.0 423.0
Deviazione Standard (sales): 79.65
Coefficiente di Variazione: 41.42%
Interquartile Range (IQR): 120
Asimmetria (Skewness): 0.72
Curtosi (Kurtosis): -0.31
Summary per la variabile: volume ---
Min. 1st Qu. Median Mean 3rd Qu. Max.
8.166 17.660 27.062 31.005 40.893 83.547
Deviazione Standard (volume): 16.65
Coefficiente di Variazione: 53.71%
Interquartile Range (IQR): 23.23
Asimmetria (Skewness): 0.88
Curtosi (Kurtosis): 0.18
Summary per la variabile: median_price ---
Min. 1st Qu. Median Mean 3rd Qu. Max.
73800 117300 134500 132665 150050 180000
Deviazione Standard (median_price): 22662.15
Coefficiente di Variazione: 17.08%
Interquartile Range (IQR): 32750
Asimmetria (Skewness): -0.36
Curtosi (Kurtosis): -0.62
Summary per la variabile: listings ---
Min. 1st Qu. Median Mean 3rd Qu. Max.
743 1026 1618 1738 2056 3296
Deviazione Standard (listings): 752.71
Coefficiente di Variazione: 43.31%
Interquartile Range (IQR): 1029.5
Asimmetria (Skewness): 0.65
Curtosi (Kurtosis): -0.79
N<- dim(dati)[1]
dati$sales_CL <- cut(dati$sales,
breaks= c(79,127, 175.5,247,423))
table(dati$city, dati$sales_CL)
(79,127] (127,176] (176,247] (247,423]
Beaumont 8 21 27 4
Bryan-College Station 12 15 15 18
Tyler 0 4 18 38
Wichita Falls 39 19 0 0
table(dati$city, dati$sales_CL)/N
(79,127] (127,176] (176,247] (247,423]
Beaumont 0.03333333 0.08750000 0.11250000 0.01666667
Bryan-College Station 0.05000000 0.06250000 0.06250000 0.07500000
Tyler 0.00000000 0.01666667 0.07500000 0.15833333
Wichita Falls 0.16250000 0.07916667 0.00000000 0.00000000
table(dati$year, dati$sales_CL)
(79,127] (127,176] (176,247] (247,423]
2010 14 14 13 7
2011 17 13 10 7
2012 13 13 10 12
2013 7 11 14 15
2014 8 8 13 19
table(dati$year, dati$sales_CL)/N
(79,127] (127,176] (176,247] (247,423]
2010 0.05833333 0.05833333 0.05416667 0.02916667
2011 0.07083333 0.05416667 0.04166667 0.02916667
2012 0.05416667 0.05416667 0.04166667 0.05000000
2013 0.02916667 0.04583333 0.05833333 0.06250000
2014 0.03333333 0.03333333 0.05416667 0.07916667
table(dati$month, dati$sales_CL)
(79,127] (127,176] (176,247] (247,423]
1 10 7 2 0
2 10 3 6 0
3 3 7 5 5
4 3 3 7 7
5 1 5 5 9
6 3 3 3 11
7 2 5 5 8
8 1 6 4 9
9 6 4 6 4
10 7 4 5 4
11 8 6 4 2
12 5 6 8 1
table(dati$month, dati$sales_CL)/N
(79,127] (127,176] (176,247] (247,423]
1 0.041666667 0.029166667 0.008333333 0.000000000
2 0.041666667 0.012500000 0.025000000 0.000000000
3 0.012500000 0.029166667 0.020833333 0.020833333
4 0.012500000 0.012500000 0.029166667 0.029166667
5 0.004166667 0.020833333 0.020833333 0.037500000
6 0.012500000 0.012500000 0.012500000 0.045833333
7 0.008333333 0.020833333 0.020833333 0.033333333
8 0.004166667 0.025000000 0.016666667 0.037500000
9 0.025000000 0.016666667 0.025000000 0.016666667
10 0.029166667 0.016666667 0.020833333 0.016666667
11 0.033333333 0.025000000 0.016666667 0.008333333
12 0.020833333 0.025000000 0.033333333 0.004166667
table(dati$months_inventory, dati$sales_CL)
(79,127] (127,176] (176,247] (247,423]
3.4 0 0 1 0
3.8 0 1 0 0
4 0 0 2 1
4.1 0 0 0 1
4.4 0 0 1 0
4.5 0 0 0 1
4.8 0 0 0 1
4.9 0 1 0 0
5 0 3 0 2
5.2 0 0 1 0
6 0 0 0 1
6.1 2 0 0 1
6.3 1 0 0 0
6.4 2 0 0 0
6.6 0 1 0 0
6.7 0 0 0 1
6.9 0 1 0 1
7 1 1 1 0
7.1 3 2 0 0
7.2 1 1 2 0
7.3 1 2 0 0
7.4 0 0 0 2
7.5 1 3 1 0
7.6 2 3 1 1
7.7 0 1 0 0
7.8 4 0 1 1
7.9 4 2 1 0
8 3 1 2 1
8.1 6 1 0 3
8.2 1 0 0 0
8.3 1 2 1 0
8.4 1 2 0 2
8.5 1 1 2 0
8.6 1 1 1 1
8.7 3 0 2 1
8.8 4 0 0 0
8.9 1 2 0 0
9 2 1 4 0
9.1 1 1 3 1
9.2 1 1 0 1
9.3 1 0 0 2
9.4 1 2 0 3
9.5 1 0 1 1
9.6 1 0 0 0
9.7 0 1 1 0
9.9 0 0 1 1
10 1 0 3 0
10.1 0 0 0 1
10.2 0 0 1 2
10.3 0 0 1 0
10.4 0 1 0 2
10.5 0 1 2 0
10.6 1 1 2 0
10.7 1 0 0 2
10.8 0 0 1 2
10.9 0 0 2 0
11.1 0 1 1 2
11.2 0 2 0 0
11.3 0 2 2 1
11.4 1 1 2 0
11.5 0 1 1 0
11.6 0 3 2 2
11.7 2 2 1 0
11.8 0 1 0 0
11.9 0 0 0 1
12 0 0 1 3
12.2 0 0 0 1
12.3 1 1 0 1
12.4 0 2 0 1
12.6 0 1 1 0
12.7 0 0 1 0
13 0 0 2 1
13.3 0 0 0 2
13.4 0 1 1 0
13.5 0 0 1 0
13.8 0 0 2 0
14 0 0 0 1
14.5 0 0 0 2
14.6 0 0 0 1
14.9 0 0 0 1
table(dati$months_inventory, dati$sales_CL)/N
(79,127] (127,176] (176,247] (247,423]
3.4 0.000000000 0.000000000 0.004166667 0.000000000
3.8 0.000000000 0.004166667 0.000000000 0.000000000
4 0.000000000 0.000000000 0.008333333 0.004166667
4.1 0.000000000 0.000000000 0.000000000 0.004166667
4.4 0.000000000 0.000000000 0.004166667 0.000000000
4.5 0.000000000 0.000000000 0.000000000 0.004166667
4.8 0.000000000 0.000000000 0.000000000 0.004166667
4.9 0.000000000 0.004166667 0.000000000 0.000000000
5 0.000000000 0.012500000 0.000000000 0.008333333
5.2 0.000000000 0.000000000 0.004166667 0.000000000
6 0.000000000 0.000000000 0.000000000 0.004166667
6.1 0.008333333 0.000000000 0.000000000 0.004166667
6.3 0.004166667 0.000000000 0.000000000 0.000000000
6.4 0.008333333 0.000000000 0.000000000 0.000000000
6.6 0.000000000 0.004166667 0.000000000 0.000000000
6.7 0.000000000 0.000000000 0.000000000 0.004166667
6.9 0.000000000 0.004166667 0.000000000 0.004166667
7 0.004166667 0.004166667 0.004166667 0.000000000
7.1 0.012500000 0.008333333 0.000000000 0.000000000
7.2 0.004166667 0.004166667 0.008333333 0.000000000
7.3 0.004166667 0.008333333 0.000000000 0.000000000
7.4 0.000000000 0.000000000 0.000000000 0.008333333
7.5 0.004166667 0.012500000 0.004166667 0.000000000
7.6 0.008333333 0.012500000 0.004166667 0.004166667
7.7 0.000000000 0.004166667 0.000000000 0.000000000
7.8 0.016666667 0.000000000 0.004166667 0.004166667
7.9 0.016666667 0.008333333 0.004166667 0.000000000
8 0.012500000 0.004166667 0.008333333 0.004166667
8.1 0.025000000 0.004166667 0.000000000 0.012500000
8.2 0.004166667 0.000000000 0.000000000 0.000000000
8.3 0.004166667 0.008333333 0.004166667 0.000000000
8.4 0.004166667 0.008333333 0.000000000 0.008333333
8.5 0.004166667 0.004166667 0.008333333 0.000000000
8.6 0.004166667 0.004166667 0.004166667 0.004166667
8.7 0.012500000 0.000000000 0.008333333 0.004166667
8.8 0.016666667 0.000000000 0.000000000 0.000000000
8.9 0.004166667 0.008333333 0.000000000 0.000000000
9 0.008333333 0.004166667 0.016666667 0.000000000
9.1 0.004166667 0.004166667 0.012500000 0.004166667
9.2 0.004166667 0.004166667 0.000000000 0.004166667
9.3 0.004166667 0.000000000 0.000000000 0.008333333
9.4 0.004166667 0.008333333 0.000000000 0.012500000
9.5 0.004166667 0.000000000 0.004166667 0.004166667
9.6 0.004166667 0.000000000 0.000000000 0.000000000
9.7 0.000000000 0.004166667 0.004166667 0.000000000
9.9 0.000000000 0.000000000 0.004166667 0.004166667
10 0.004166667 0.000000000 0.012500000 0.000000000
10.1 0.000000000 0.000000000 0.000000000 0.004166667
10.2 0.000000000 0.000000000 0.004166667 0.008333333
10.3 0.000000000 0.000000000 0.004166667 0.000000000
10.4 0.000000000 0.004166667 0.000000000 0.008333333
10.5 0.000000000 0.004166667 0.008333333 0.000000000
10.6 0.004166667 0.004166667 0.008333333 0.000000000
10.7 0.004166667 0.000000000 0.000000000 0.008333333
10.8 0.000000000 0.000000000 0.004166667 0.008333333
10.9 0.000000000 0.000000000 0.008333333 0.000000000
11.1 0.000000000 0.004166667 0.004166667 0.008333333
11.2 0.000000000 0.008333333 0.000000000 0.000000000
11.3 0.000000000 0.008333333 0.008333333 0.004166667
11.4 0.004166667 0.004166667 0.008333333 0.000000000
11.5 0.000000000 0.004166667 0.004166667 0.000000000
11.6 0.000000000 0.012500000 0.008333333 0.008333333
11.7 0.008333333 0.008333333 0.004166667 0.000000000
11.8 0.000000000 0.004166667 0.000000000 0.000000000
11.9 0.000000000 0.000000000 0.000000000 0.004166667
12 0.000000000 0.000000000 0.004166667 0.012500000
12.2 0.000000000 0.000000000 0.000000000 0.004166667
12.3 0.004166667 0.004166667 0.000000000 0.004166667
12.4 0.000000000 0.008333333 0.000000000 0.004166667
12.6 0.000000000 0.004166667 0.004166667 0.000000000
12.7 0.000000000 0.000000000 0.004166667 0.000000000
13 0.000000000 0.000000000 0.008333333 0.004166667
13.3 0.000000000 0.000000000 0.000000000 0.008333333
13.4 0.000000000 0.004166667 0.004166667 0.000000000
13.5 0.000000000 0.000000000 0.004166667 0.000000000
13.8 0.000000000 0.000000000 0.008333333 0.000000000
14 0.000000000 0.000000000 0.000000000 0.004166667
14.5 0.000000000 0.000000000 0.000000000 0.008333333
14.6 0.000000000 0.000000000 0.000000000 0.004166667
14.9 0.000000000 0.000000000 0.000000000 0.004166667
Come primo step: ho importato moments come pacchetto, fatto l’attach Secondo passaggio: ho definito le variabili continue e la funzione CV per il coefficiente di variazione. Fatto un ciclo for dove si calcolano e si stampano summary, deviazione standard, coefficiente di variazione e range interquartile. Per indici di forma si sono calcolati asimmetria e kurtosi.
Infine distribuizione di frequenze assolute reltative sono state fatte su city, year, months and months_inventory. 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.
Per individuare la variabile con piu variabilità si può utilizzare l’analisi del coefficiente di variabilità. si trova che il Cv piu alto è quello di volume che indica una variabilità maggiore rispetto la media
Per l’asimmetria si puo usare l’indici di asimmetria di fisher, che riporta la variabili volume come la piu asimmetrica, positiva in questo caso.
Sono uscite 3 asimmetrie positive(sales, volume, listings) una negativa (median_price). Per la kurtosi: 3 platicurtiche e una leptocurtica (volume).
sales_CL <- cut(dati$sales,
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)
[1] 0.9021701
Ho creato la classe sales_CL divisa in quantili, fatto il boxplot delle frewueze assolute e calcolato l’indice di Gine che viene intorno a 0.90, valore vicino 1 che indica una disuguaglia nella distribuzione delle vendite nelle classi.
f_city <- table(dati$city)
probabilità1 <- f_city/N
p_Beaumont <- probabilità1["Beaumont"]
p_Beaumont
Beaumont
0.25
f_month <-table(dati$month)
probabilità2 <- f_month/N
p_Luglio <- probabilità2["7"]
p_Luglio
7
0.08333333
f_year <-table(dati$year)
probabilità3 <- f_year/N
p_2012 <- probabilità3["2012"]
P_dicembre2012 <- p_2012/12
P_dicembre2012
2012
0.01666667
Prima richiesta, probabilità che una riga a casa abbia la scritta beaumont è del 0.25. Seconda domanda: probabilà di avere il mese di Luglio, è di 0.0833 Terza domanda: probabilita di avere Dicembre 20212 è di 0.0167
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
Primo comando, ho aggiunto la colonna del prezzo mezzo, facendo valore totale vendite diviso numero vendite, cioè la media, risultato espresso in milioni di dollari, corenete con il prezzo mediano. Per il secondo punto ho ragionato creando due variabili, ovvero il rate di conversione definito come il rapporto delle vendite sugli annunci attivi e sul tempo normalizzato, calcolato come il reciproco del tempo (in mesi) degli annunci per vendere le inserzioni. Infine ho aggiunto la colonna dell’efficacia calcolata come il prodotto tra i due. valori alti indicano buona efficacia, in quanto si ha ato rate e alto il reciproco dei mesi, valori bassi indicno bassa efficacia.
install.packages("dplyr")
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:
https://cran.rstudio.com/bin/windows/Rtools/
Installazione pacchetto in ‘C:/Users/Marce/AppData/Local/R/win-library/4.4’
(perché ‘lib’ non è specificato)
apertura URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/dplyr_1.1.4.zip'
Content type 'application/zip' length 1590561 bytes (1.5 MB)
downloaded 1.5 MB
pacchetto ‘dplyr’ aperto con successo con controllo somme MD5
I pacchetti binari scaricati sono in
C:\Users\Marce\AppData\Local\Temp\RtmpoZQwKZ\downloaded_packages
install.packages("ggplot2")
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:
https://cran.rstudio.com/bin/windows/Rtools/
Installazione pacchetto in ‘C:/Users/Marce/AppData/Local/R/win-library/4.4’
(perché ‘lib’ non è specificato)
apertura URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/ggplot2_3.5.2.zip'
Content type 'application/zip' length 5018140 bytes (4.8 MB)
downloaded 4.8 MB
pacchetto ‘ggplot2’ aperto con successo con controllo somme MD5
I pacchetti binari scaricati sono in
C:\Users\Marce\AppData\Local\Temp\RtmpoZQwKZ\downloaded_packages
library(dplyr)
Caricamento pacchetto: ‘dplyr’
I seguenti oggetti sono mascherati da ‘package:stats’:
filter, lag
I seguenti oggetti sono mascherati da ‘package:base’:
intersect, setdiff, setequal, union
library(ggplot2)
analisi_condizionata1<-dati %>%
group_by(city,year) %>%
summarise(
media=mean(sales),
dev.st=sd(sales)
)
`summarise()` has grouped output by 'city'. You can override using the `.groups` argument.
ggplot(data=analisi_condizionata1)+
(aes(x = year, y = media, color = city)) +
geom_line() +
geom_point() +
facet_wrap(~city) +
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)
)
`summarise()` has grouped output by 'city'. You can override using the `.groups` argument.
ggplot(data=analisi_condizionata2)+
(aes(x = month, y = media, color = city)) +
geom_line() +
geom_point() +
facet_wrap(~city) +
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 he mi soddisfacevano,
per i grafici personalizzati, basta vedere quelli sopra.
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()
install.packages("lubridate")
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:
https://cran.rstudio.com/bin/windows/Rtools/
Installazione pacchetto in ‘C:/Users/Marce/AppData/Local/R/win-library/4.4’
(perché ‘lib’ non è specificato)
apertura URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/lubridate_1.9.4.zip'
Content type 'application/zip' length 989366 bytes (966 KB)
downloaded 966 KB
pacchetto ‘lubridate’ aperto con successo con controllo somme MD5
I pacchetti binari scaricati sono in
C:\Users\Marce\AppData\Local\Temp\RtmpoZQwKZ\downloaded_packages
library(lubridate)
Caricamento pacchetto: ‘lubridate’
I seguenti oggetti sono mascherati da ‘package:base’:
date, intersect, setdiff, union
my_years <- rep(2010:2014, each = 12)
my_months <- rep(1:12, times = 5)
dati$date<- make_date(year = my_years, month = my_months)
analisi_condizionata3<-dati %>%
group_by(city,date) %>%
summarise(
media=mean(sales),
dev.st=sd(sales)
)
`summarise()` has grouped output by 'city'. You can override using the `.groups` argument.
ggplot(data=analisi_condizionata3)+
(aes(x = date, y = media, color = city)) +
geom_line() +
geom_point() +
facet_wrap(~city) +
labs(title = "Media delle Vendite per mese e anno e Città",
x = "Mes e anni",
y = "Media Vendite",
color = "Città") +
theme_bw()
Sicuramente si può dire che gli anni 2013 e 2014 sono stati anni con piu vendite e che i mesi igliori risultano essere Maggio, Giugno e Luglio. Per quanto riguarda le città, la cittadine yler risulta essere quella dove si vendono piu immobili, mentre Wichita Falls dove se ne endono meno Infine si è creata òa variabile date combinando months and year eaggiungendo al dataframe si è fatta la terza analisi condizionata su qyesta variabile .
analisi_condizionata3<-dati %>%
group_by(city,listings) %>%
summarise(
media=mean(sales),
dev.st=sd(sales)
)
`summarise()` has grouped output by 'city'. You can override using the `.groups` argument.
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 ase al numero di annunci attivi, Per Tyler si hanno tanti annunci e tante vendite, per ichita 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 ampiorispetto 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.