setwd("C:/Users/Ale/OneDrive/Desktop")

dati <- read.csv("realestate_texas.csv")

str(dati)
## 'data.frame':    240 obs. of  8 variables:
##  $ city            : chr  "Beaumont" "Beaumont" "Beaumont" "Beaumont" ...
##  $ year            : int  2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 ...
##  $ month           : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ sales           : int  83 108 182 200 202 189 164 174 124 150 ...
##  $ volume          : num  14.2 17.7 28.7 26.8 28.8 ...
##  $ median_price    : num  163800 138200 122400 123200 123100 ...
##  $ listings        : int  1533 1586 1689 1708 1771 1803 1857 1830 1829 1779 ...
##  $ months_inventory: num  9.5 10 10.6 10.6 10.9 11.1 11.7 11.6 11.7 11.5 ...
colnames(dati)
## [1] "city"             "year"             "month"            "sales"           
## [5] "volume"           "median_price"     "listings"         "months_inventory"
attach(dati)

#Le variabili statistiche del dataset sono: city, year, month, #sales, volume, median_price,listings, months_inventory

#city: variabile qualitativa nominale #year: variabile qualitativa ordinale #month: variabile qualitativa nominale #sales: variabile quantitativa discreta #volume: variabile quantitativa continua #median_price: variabile quantitativa continua #listings: variabile quantitativa discreta #months_inventory: variabile quantitativa continua

#Variabili temporali: year, month, months-inventory #possono essere gestite in base alle serie storiche, #ossia in base ai dati che abbiamo a disposizione relativi agli anni e mesi passati

#city: analisi delle vendite per città #year: serie storica delle vendite per anno #mounth: serie storica delle vendite per ogni mese dell’anno #sales: totale vendite effettuate #volume: volume relativo agli immobili venduti #median_price: analisi dei prezzi del mercato immobiliare #listing: valutazione del rapporto annunci/vendite #months_inventory: tempo necessario per vendere tutte le inserzioni correnti in mesi

#lunghezza dataset:

#frequenze delle variabili qualitative:

for (i in 1:3){
  print(names(dati[i]))
  print(paste("frequenza assoluta:",table(table(dati[,i])),
              "frequenza relativa:",round(table(dati[,i])/N,2),
              "frequenza assoluta cumulata:",cumsum(table(dati[,i])),
              "frequenza relativa cumulata:",round(cumsum(table(dati[,i])/N),2)))
}
## [1] "city"
## [1] "frequenza assoluta: 4 frequenza relativa: 0.25 frequenza assoluta cumulata: 60 frequenza relativa cumulata: 0.25" 
## [2] "frequenza assoluta: 4 frequenza relativa: 0.25 frequenza assoluta cumulata: 120 frequenza relativa cumulata: 0.5" 
## [3] "frequenza assoluta: 4 frequenza relativa: 0.25 frequenza assoluta cumulata: 180 frequenza relativa cumulata: 0.75"
## [4] "frequenza assoluta: 4 frequenza relativa: 0.25 frequenza assoluta cumulata: 240 frequenza relativa cumulata: 1"   
## [1] "year"
## [1] "frequenza assoluta: 5 frequenza relativa: 0.2 frequenza assoluta cumulata: 48 frequenza relativa cumulata: 0.2" 
## [2] "frequenza assoluta: 5 frequenza relativa: 0.2 frequenza assoluta cumulata: 96 frequenza relativa cumulata: 0.4" 
## [3] "frequenza assoluta: 5 frequenza relativa: 0.2 frequenza assoluta cumulata: 144 frequenza relativa cumulata: 0.6"
## [4] "frequenza assoluta: 5 frequenza relativa: 0.2 frequenza assoluta cumulata: 192 frequenza relativa cumulata: 0.8"
## [5] "frequenza assoluta: 5 frequenza relativa: 0.2 frequenza assoluta cumulata: 240 frequenza relativa cumulata: 1"  
## [1] "month"
##  [1] "frequenza assoluta: 12 frequenza relativa: 0.08 frequenza assoluta cumulata: 20 frequenza relativa cumulata: 0.08" 
##  [2] "frequenza assoluta: 12 frequenza relativa: 0.08 frequenza assoluta cumulata: 40 frequenza relativa cumulata: 0.17" 
##  [3] "frequenza assoluta: 12 frequenza relativa: 0.08 frequenza assoluta cumulata: 60 frequenza relativa cumulata: 0.25" 
##  [4] "frequenza assoluta: 12 frequenza relativa: 0.08 frequenza assoluta cumulata: 80 frequenza relativa cumulata: 0.33" 
##  [5] "frequenza assoluta: 12 frequenza relativa: 0.08 frequenza assoluta cumulata: 100 frequenza relativa cumulata: 0.42"
##  [6] "frequenza assoluta: 12 frequenza relativa: 0.08 frequenza assoluta cumulata: 120 frequenza relativa cumulata: 0.5" 
##  [7] "frequenza assoluta: 12 frequenza relativa: 0.08 frequenza assoluta cumulata: 140 frequenza relativa cumulata: 0.58"
##  [8] "frequenza assoluta: 12 frequenza relativa: 0.08 frequenza assoluta cumulata: 160 frequenza relativa cumulata: 0.67"
##  [9] "frequenza assoluta: 12 frequenza relativa: 0.08 frequenza assoluta cumulata: 180 frequenza relativa cumulata: 0.75"
## [10] "frequenza assoluta: 12 frequenza relativa: 0.08 frequenza assoluta cumulata: 200 frequenza relativa cumulata: 0.83"
## [11] "frequenza assoluta: 12 frequenza relativa: 0.08 frequenza assoluta cumulata: 220 frequenza relativa cumulata: 0.92"
## [12] "frequenza assoluta: 12 frequenza relativa: 0.08 frequenza assoluta cumulata: 240 frequenza relativa cumulata: 1"

#possiamo notare come tutte le variabili qualitative siano multimodali

#calcoliamo gli indici per le variabili quantitative:

range<-function(x){
 
  
  return(max(x)-min(x))
}

cv<-function(x){
  return(sd(x)/mean(x)*100)
  
}


gini.index <- function(x){
  ni = table(x)
  fi = ni/length(x)
  fi2 = fi^2
  J = length(table(x))
  
  gini = 1-sum(fi2)
  gini.norm = gini/((J-1)/J)
  
  return(gini.norm)
}

library("moments")


library("knitr")

summary(dati[4:8])
##      sales           volume        median_price       listings   
##  Min.   : 79.0   Min.   : 8.166   Min.   : 73800   Min.   : 743  
##  1st Qu.:127.0   1st Qu.:17.660   1st Qu.:117300   1st Qu.:1026  
##  Median :175.5   Median :27.062   Median :134500   Median :1618  
##  Mean   :192.3   Mean   :31.005   Mean   :132665   Mean   :1738  
##  3rd Qu.:247.0   3rd Qu.:40.893   3rd Qu.:150050   3rd Qu.:2056  
##  Max.   :423.0   Max.   :83.547   Max.   :180000   Max.   :3296  
##  months_inventory
##  Min.   : 3.400  
##  1st Qu.: 7.800  
##  Median : 8.950  
##  Mean   : 9.193  
##  3rd Qu.:10.950  
##  Max.   :14.900
for (i in 4:8) {
  print(names(dati[i]))
  
  print(paste("range:",range(dati[i]),
              "- IQR:",IQR(dati[,i]),
              "- var:",round(var(dati[,i]),2),
               "- sd:",round(sd(dati[,i]),2),
               "- cv:",round(cv(dati[,i]),2),
             "- gini:",round(gini.index(dati[,i]),2),
         "- skewness:",round(skewness(dati[,i]),2),
         "- kurtosis:",round(kurtosis(dati[,i]),2)))
  
}
## [1] "sales"
## [1] "range: 344 - IQR: 120 - var: 6344.3 - sd: 79.65 - cv: 41.42 - gini: 1 - skewness: 0.72 - kurtosis: 2.69"
## [1] "volume"
## [1] "range: 75.381 - IQR: 23.2335 - var: 277.27 - sd: 16.65 - cv: 53.71 - gini: 1 - skewness: 0.88 - kurtosis: 3.18"
## [1] "median_price"
## [1] "range: 106200 - IQR: 32750 - var: 513572983.09 - sd: 22662.15 - cv: 17.08 - gini: 1 - skewness: -0.36 - kurtosis: 2.38"
## [1] "listings"
## [1] "range: 2553 - IQR: 1029.5 - var: 566568.97 - sd: 752.71 - cv: 43.31 - gini: 1 - skewness: 0.65 - kurtosis: 2.21"
## [1] "months_inventory"
## [1] "range: 11.5 - IQR: 3.15 - var: 5.31 - sd: 2.3 - cv: 25.06 - gini: 0.99 - skewness: 0.04 - kurtosis: 2.83"

#La variabile con variabilità più alta è volume in quanto ha il coefficente di variabilità maggiore

#Volume è anche la variabile più asimmetrica perché l’indice di Fisher di volume è il più lontano da 0

#Suddividiamo in classi la variabile sales. #Dal momento che sales assume il valore minimo di 79 e il valore massimo di 423, #possiamo suddividerla in classi di 50, prendendo come valore minimo 50 e valore massimo 450:

sales_cl<-cut(sales, breaks=c(50,100,150,200,250,300,350,400,450))

freq_ass_sales<-table(sales_cl)
freq_rel_sales<-round(freq_ass_sales/N,2)
freq_ass_cum_sales<-cumsum(freq_ass_sales)
freq_rel_cum_sales<-round(cumsum(freq_rel_sales),2)
distr_freq_sales<-cbind(freq_ass_sales,freq_rel_sales,freq_ass_cum_sales,freq_rel_cum_sales)

#Rappresentiamo le frequenze assolute di sales con un grafico a barre affiancate:

barplot(freq_ass_sales,
        main="distribuzione in classi di sales",
        xlab="classi di vendite",
        ylab="frequenze assolute",
        names.arg=rownames(distr_freq_sales),
        col="blue")

#Adesso calcoliamo l’indice di eterogeneità di Gini per sales:

round(gini.index(sales_cl),2)
## [1] 0.92

#Come si può notare anche dal grafico, l’eterogeneità della variabile sales è alta, #essendto l’indice di Gini superiore a 0,9

#Sono presenti 4 città, e ognuna compare 60 volte nel dataset,quindi la probabilità #(secondo l’eccezione classica) che presa una riga a caso compaia la città di Beaumont è 0,25.

#I mesi sono 12, quindi la probabilità di trovare il mese #di luglio è 1/12=0,08

#La probabilità che riporti il mese di dicembre 2012 è 4/240=0,016, perchè compare 4 volte, una per ogni città

#Distribuzione del prezzo mediano tra le città per anno:

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")

prezzo_mediano <- dati %>%
  group_by(year,city) %>%
  summarise(median_price = mean(median_price, na.rm = TRUE))
## `summarise()` has grouped output by 'year'. You can override using the
## `.groups` argument.
min(median_price)
## [1] 73800
max(median_price)
## [1] 180000
ggplot(data=prezzo_mediano)+
  geom_boxplot(aes(x=city,y=median_price,fill="pink"))+
  scale_y_continuous(breaks = seq(50,200,10))+
  labs(title="prezzo mediano tra le città", x="città",y="prezzo mediano")

#Distribuzione del prezzo mediano tra le città per mese:

prezzo_mediano <- dati %>%
  group_by(month,city) %>%
  summarise(median_price = mean(median_price, na.rm = TRUE))
## `summarise()` has grouped output by 'month'. You can override using the
## `.groups` argument.
ggplot(data=prezzo_mediano)+
  geom_boxplot(aes(x=city,y=median_price,fill="red"))+
  scale_y_continuous(breaks = seq(50,200,10))+
  labs(title="prezzo mediano tra le città", x="città",y="prezzo mediano")

#Effettuiamo analisi statistiche condizionate di sales per città, anno e mese:

summary_sales<-dati %>%
  group_by(city, year, month) %>%
  summarise(
    media = round(mean(sales, na.rm = TRUE),2),
    dev_standard = round(sd(sales, na.rm = TRUE),2))
## `summarise()` has grouped output by 'city', 'year'. You can override using the
## `.groups` argument.
kable(summary_sales)
city year month media dev_standard
Beaumont 2010 1 83 NA
Beaumont 2010 2 108 NA
Beaumont 2010 3 182 NA
Beaumont 2010 4 200 NA
Beaumont 2010 5 202 NA
Beaumont 2010 6 189 NA
Beaumont 2010 7 164 NA
Beaumont 2010 8 174 NA
Beaumont 2010 9 124 NA
Beaumont 2010 10 150 NA
Beaumont 2010 11 150 NA
Beaumont 2010 12 148 NA
Beaumont 2011 1 108 NA
Beaumont 2011 2 108 NA
Beaumont 2011 3 146 NA
Beaumont 2011 4 166 NA
Beaumont 2011 5 143 NA
Beaumont 2011 6 177 NA
Beaumont 2011 7 163 NA
Beaumont 2011 8 160 NA
Beaumont 2011 9 127 NA
Beaumont 2011 10 155 NA
Beaumont 2011 11 124 NA
Beaumont 2011 12 151 NA
Beaumont 2012 1 110 NA
Beaumont 2012 2 135 NA
Beaumont 2012 3 175 NA
Beaumont 2012 4 176 NA
Beaumont 2012 5 197 NA
Beaumont 2012 6 173 NA
Beaumont 2012 7 182 NA
Beaumont 2012 8 218 NA
Beaumont 2012 9 182 NA
Beaumont 2012 10 193 NA
Beaumont 2012 11 162 NA
Beaumont 2012 12 160 NA
Beaumont 2013 1 159 NA
Beaumont 2013 2 140 NA
Beaumont 2013 3 170 NA
Beaumont 2013 4 198 NA
Beaumont 2013 5 246 NA
Beaumont 2013 6 232 NA
Beaumont 2013 7 206 NA
Beaumont 2013 8 273 NA
Beaumont 2013 9 213 NA
Beaumont 2013 10 188 NA
Beaumont 2013 11 177 NA
Beaumont 2013 12 212 NA
Beaumont 2014 1 148 NA
Beaumont 2014 2 186 NA
Beaumont 2014 3 182 NA
Beaumont 2014 4 208 NA
Beaumont 2014 5 246 NA
Beaumont 2014 6 254 NA
Beaumont 2014 7 212 NA
Beaumont 2014 8 262 NA
Beaumont 2014 9 224 NA
Beaumont 2014 10 260 NA
Beaumont 2014 11 180 NA
Beaumont 2014 12 202 NA
Bryan-College Station 2010 1 89 NA
Bryan-College Station 2010 2 107 NA
Bryan-College Station 2010 3 176 NA
Bryan-College Station 2010 4 233 NA
Bryan-College Station 2010 5 282 NA
Bryan-College Station 2010 6 286 NA
Bryan-College Station 2010 7 189 NA
Bryan-College Station 2010 8 196 NA
Bryan-College Station 2010 9 122 NA
Bryan-College Station 2010 10 100 NA
Bryan-College Station 2010 11 101 NA
Bryan-College Station 2010 12 130 NA
Bryan-College Station 2011 1 94 NA
Bryan-College Station 2011 2 101 NA
Bryan-College Station 2011 3 162 NA
Bryan-College Station 2011 4 186 NA
Bryan-College Station 2011 5 238 NA
Bryan-College Station 2011 6 284 NA
Bryan-College Station 2011 7 244 NA
Bryan-College Station 2011 8 196 NA
Bryan-College Station 2011 9 131 NA
Bryan-College Station 2011 10 114 NA
Bryan-College Station 2011 11 124 NA
Bryan-College Station 2011 12 135 NA
Bryan-College Station 2012 1 115 NA
Bryan-College Station 2012 2 124 NA
Bryan-College Station 2012 3 149 NA
Bryan-College Station 2012 4 193 NA
Bryan-College Station 2012 5 294 NA
Bryan-College Station 2012 6 293 NA
Bryan-College Station 2012 7 292 NA
Bryan-College Station 2012 8 296 NA
Bryan-College Station 2012 9 149 NA
Bryan-College Station 2012 10 163 NA
Bryan-College Station 2012 11 159 NA
Bryan-College Station 2012 12 134 NA
Bryan-College Station 2013 1 141 NA
Bryan-College Station 2013 2 125 NA
Bryan-College Station 2013 3 187 NA
Bryan-College Station 2013 4 267 NA
Bryan-College Station 2013 5 341 NA
Bryan-College Station 2013 6 357 NA
Bryan-College Station 2013 7 402 NA
Bryan-College Station 2013 8 328 NA
Bryan-College Station 2013 9 186 NA
Bryan-College Station 2013 10 164 NA
Bryan-College Station 2013 11 166 NA
Bryan-College Station 2013 12 190 NA
Bryan-College Station 2014 1 152 NA
Bryan-College Station 2014 2 171 NA
Bryan-College Station 2014 3 275 NA
Bryan-College Station 2014 4 303 NA
Bryan-College Station 2014 5 353 NA
Bryan-College Station 2014 6 377 NA
Bryan-College Station 2014 7 403 NA
Bryan-College Station 2014 8 298 NA
Bryan-College Station 2014 9 204 NA
Bryan-College Station 2014 10 218 NA
Bryan-College Station 2014 11 169 NA
Bryan-College Station 2014 12 200 NA
Tyler 2010 1 160 NA
Tyler 2010 2 181 NA
Tyler 2010 3 250 NA
Tyler 2010 4 316 NA
Tyler 2010 5 282 NA
Tyler 2010 6 262 NA
Tyler 2010 7 255 NA
Tyler 2010 8 238 NA
Tyler 2010 9 220 NA
Tyler 2010 10 202 NA
Tyler 2010 11 155 NA
Tyler 2010 12 209 NA
Tyler 2011 1 143 NA
Tyler 2011 2 181 NA
Tyler 2011 3 241 NA
Tyler 2011 4 253 NA
Tyler 2011 5 271 NA
Tyler 2011 6 313 NA
Tyler 2011 7 278 NA
Tyler 2011 8 295 NA
Tyler 2011 9 258 NA
Tyler 2011 10 227 NA
Tyler 2011 11 208 NA
Tyler 2011 12 198 NA
Tyler 2012 1 169 NA
Tyler 2012 2 225 NA
Tyler 2012 3 271 NA
Tyler 2012 4 253 NA
Tyler 2012 5 289 NA
Tyler 2012 6 302 NA
Tyler 2012 7 322 NA
Tyler 2012 8 317 NA
Tyler 2012 9 281 NA
Tyler 2012 10 289 NA
Tyler 2012 11 210 NA
Tyler 2012 12 234 NA
Tyler 2013 1 197 NA
Tyler 2013 2 227 NA
Tyler 2013 3 298 NA
Tyler 2013 4 289 NA
Tyler 2013 5 326 NA
Tyler 2013 6 335 NA
Tyler 2013 7 369 NA
Tyler 2013 8 357 NA
Tyler 2013 9 287 NA
Tyler 2013 10 272 NA
Tyler 2013 11 253 NA
Tyler 2013 12 239 NA
Tyler 2014 1 238 NA
Tyler 2014 2 244 NA
Tyler 2014 3 282 NA
Tyler 2014 4 323 NA
Tyler 2014 5 388 NA
Tyler 2014 6 423 NA
Tyler 2014 7 371 NA
Tyler 2014 8 347 NA
Tyler 2014 9 361 NA
Tyler 2014 10 369 NA
Tyler 2014 11 300 NA
Tyler 2014 12 332 NA
Wichita Falls 2010 1 89 NA
Wichita Falls 2010 2 91 NA
Wichita Falls 2010 3 147 NA
Wichita Falls 2010 4 167 NA
Wichita Falls 2010 5 165 NA
Wichita Falls 2010 6 129 NA
Wichita Falls 2010 7 104 NA
Wichita Falls 2010 8 130 NA
Wichita Falls 2010 9 132 NA
Wichita Falls 2010 10 113 NA
Wichita Falls 2010 11 97 NA
Wichita Falls 2010 12 117 NA
Wichita Falls 2011 1 80 NA
Wichita Falls 2011 2 79 NA
Wichita Falls 2011 3 119 NA
Wichita Falls 2011 4 111 NA
Wichita Falls 2011 5 128 NA
Wichita Falls 2011 6 111 NA
Wichita Falls 2011 7 127 NA
Wichita Falls 2011 8 135 NA
Wichita Falls 2011 9 113 NA
Wichita Falls 2011 10 98 NA
Wichita Falls 2011 11 93 NA
Wichita Falls 2011 12 81 NA
Wichita Falls 2012 1 105 NA
Wichita Falls 2012 2 90 NA
Wichita Falls 2012 3 116 NA
Wichita Falls 2012 4 125 NA
Wichita Falls 2012 5 102 NA
Wichita Falls 2012 6 130 NA
Wichita Falls 2012 7 132 NA
Wichita Falls 2012 8 123 NA
Wichita Falls 2012 9 95 NA
Wichita Falls 2012 10 97 NA
Wichita Falls 2012 11 119 NA
Wichita Falls 2012 12 115 NA
Wichita Falls 2013 1 79 NA
Wichita Falls 2013 2 101 NA
Wichita Falls 2013 3 159 NA
Wichita Falls 2013 4 124 NA
Wichita Falls 2013 5 144 NA
Wichita Falls 2013 6 121 NA
Wichita Falls 2013 7 150 NA
Wichita Falls 2013 8 149 NA
Wichita Falls 2013 9 128 NA
Wichita Falls 2013 10 114 NA
Wichita Falls 2013 11 94 NA
Wichita Falls 2013 12 92 NA
Wichita Falls 2014 1 89 NA
Wichita Falls 2014 2 93 NA
Wichita Falls 2014 3 102 NA
Wichita Falls 2014 4 143 NA
Wichita Falls 2014 5 140 NA
Wichita Falls 2014 6 123 NA
Wichita Falls 2014 7 150 NA
Wichita Falls 2014 8 137 NA
Wichita Falls 2014 9 110 NA
Wichita Falls 2014 10 112 NA
Wichita Falls 2014 11 96 NA
Wichita Falls 2014 12 109 NA

#e rappresentiamo il risultato graficamente:

ggplot(data=dati)+
  geom_boxplot(
    aes(
      y = sales,
      fill = city))+
  scale_x_continuous(breaks = seq(2010,2014,1))+
  scale_y_continuous(breaks = seq(0,500,50))+
  theme_classic()

#Come possiamo vedere dal box-plot sopra, per Beaumont, Tyler e Wichita Falls la mediana #delle vendite è vicina alla media, mentre per Bryan_College Station è più vicina al valore minimo. #Inoltre Wichita Falls ha sia un range che un range interquantile molto piccoli; a seguire #Beaumont, Tyler ed infine Bryan-College Station. Dunque nell’ordine queste quattro città #hanno subito una variabilità via via maggiore della vendita degli immobili.

#Confrontiamo il totale delle vendite per mese e città con un grafico a barre sovrapposte:

ggplot(data=dati)+
  geom_bar(
    aes(
      x = month,
      y = sales,
      fill = city,
      ),
  stat="identity")+
  scale_x_continuous(breaks = seq(1,12,1))+
  scale_y_continuous(breaks = seq(0,5000,500))+
  theme_classic()

#Possiamo notare che tra gennaio e febbraio il totale delle vendite per Beaumont, Bryan-College Station # e Wichita Falls è rimasto invariato, mentre è aumentato per Tyler. Poi si ha un aumento per Beaumont #Bryan-College Station e Tyler fino ad agosto; poi una diminuizione per le medesime città fino a novembre #per aumentare di nuovo a dicembre. Per Whichita Falls il mercato immobiliare oscilla di poco nell’arco dell’anno #tendendo a stabilizzarsi nei primi e negli ultimi mesi dell’anno.

#Possiamo anche confrontare l’andamento delle vendite in periodi storici differenti usando una line-chart:

media_vendite_per_mese <- dati %>%
  group_by(month) %>%
  summarise(media_sales = mean(sales, na.rm = TRUE))


ggplot(data = media_vendite_per_mese)+
  geom_line(aes(x=month, y = media_sales), col = "lightblue", lwd= 1)+
  geom_point(aes(x=month, y = media_sales), col = "blue", lwd = 3)+
  labs(
    x= "Mesi",
    y = "Media vendite mensili",
    title= "Andamento delle vendite in mesi differenti"
  )+
  geom_text(aes(x=month, 
                y = media_sales+5, 
                label= round(media_sales,2)),
            lwd = 2)+
  theme(
    panel.background = element_blank(),
    axis.line = element_line(color = "black")
  )+
  scale_x_continuous(breaks = seq(1,12,1))
## Warning in geom_point(aes(x = month, y = media_sales), col = "blue", lwd = 3):
## Ignoring unknown parameters: `linewidth`
## Warning in geom_text(aes(x = month, y = media_sales + 5, label =
## round(media_sales, : Ignoring unknown parameters: `linewidth`

#E per anno:

media_vendite_per_anno <- dati %>%
  group_by(year) %>%
  summarise(media_sales = mean(sales, na.rm = TRUE))


ggplot(data = media_vendite_per_anno)+
  geom_line(aes(x=year, y = media_sales), col = "lightblue", lwd= 1)+
  geom_point(aes(x=year, y = media_sales), col = "blue", lwd = 3)+
  labs(
    x= "anni",
    y = "Media vendite annuali",
    title= "Andamento delle vendite in anni differenti"
  )+
  geom_text(aes(x=year,
                y = media_sales+5, 
                label= round(media_sales,2)),
            lwd = 2)+
  theme(
    panel.background = element_blank(),
    axis.line = element_line(color = "black")
  )+
  scale_x_continuous(breaks = seq(2010,2014,1))
## Warning in geom_point(aes(x = year, y = media_sales), col = "blue", lwd = 3):
## Ignoring unknown parameters: `linewidth`
## Warning in geom_text(aes(x = year, y = media_sales + 5, label =
## round(media_sales, : Ignoring unknown parameters: `linewidth`

#Sintesi: Dopo una prima decrescita, il mercato immobiliare del Texas negli ultimi anni è decollato, #mentre ha avuto un andamento oscillatorio nel corso dei mesi. #I prezzi medi degli immobili non sono variati di molto e sono stati abbastanza oscillatori; #mentre sono diminuiti gli annunci di vendita, quindi è diminuito il rapporto annunci/vendite. #Un’altra variabile interessante è months-inventory; vediamo come in ogni caso si #è ridotto il tempo necessario per vendere le inserzioni, come ci aspettavamo dall’andamento di mercato. #Si consiglia di continuare ad adottare questa strategia di marketing per tutte le città meno che per Wichita Falls, #che purtroppo ha subito un decremento delle vendite; essendo anche la città più economica sarebbe appropriato fare #un’intensa campagna di marketing.