Punto 1

library("knitr")
data <- read.csv("realestate_texas.csv" )
str(data)
## '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 ...
colSums(is.na(data))
##             city             year            month            sales 
##                0                0                0                0 
##           volume     median_price         listings months_inventory 
##                0                0                0                0
dim(data)
## [1] 240   8
n <- dim(data)[1]
attach(data)

Sono presenti 8 Variabili, non hanno valori mancanti (NA), tra queste troviamo:
city= [chr], variabile qualitativa nominale.
year=[int], variabile quantitativa su scala a intervallo
month= [int], variabile quantitativa ordinale
sales=[int], variabile quantitativa discreta su scala di rapporto
volume=[num], variabile quantitativa continua su scala di rapporto
median_price=[num], variabile quantitativa continua su scala di rapporto
listings=[int], variabile quantitativa discreta su scala di rapporto
month_inventory=[int], variabile quantitativa continua su scala di rapporto

Punto 2

statistiche <- function(variabile){
  mean_variabile <- sum(variabile)/length(variabile)
  median_variabile <- median(variabile)
  var_variabile <- var(variabile)
  dev_std_variabile <- sd(variabile)
  stats <- c(Media= mean_variabile,
             Mediana= median_variabile,
             Varianza= var_variabile,
             Deviazione_Standard= dev_std_variabile)
  stats_approx <- round(stats,digits = 2)
  
  quantile_variabile=round(quantile(variabile),digits = 2)
  percentile_variabile=round(quantile(variabile,c(seq(from=0,to=1,by=0.01))),digits = 2)
  
  stats_finali <- c(stats_approx,Quantile=quantile_variabile,Percentile=percentile_variabile)
  
  return(stats_finali)
}

asimmetria <- function(variabile, nome_variabile) {
  mu <- mean(variabile)
  len <- length(variabile)
  sigma <- sd(variabile)
  m3 <- sum((variabile - mu)^3) / len
  fisher_index <- m3 / sigma^3
  round_fisher_index <- round(fisher_index,digits = 2)
  
  titolo <- paste("Distribuzione di", nome_variabile)
  hist(variabile, main = titolo, col = "lightblue", border = "white")
  grid()
  abline(v = mu, col = "red", lwd = 2)
  
  return(round_fisher_index)
}

curtosi <- function(variabile){
  mu <- mean(variabile)
  len<-length(variabile) 
  sigma<-sd(variabile) 
  m4 <- sum((variabile-mu)^4)/len
  fisher_index <- m4/sigma^4-3
  round_fisher_index <- round(fisher_index,digits = 2)
  return(round_fisher_index)
}

distribuzione_frequenza <- function(var,n) {
  ni <- table(var)
  fi <- round(table(var)/n,digits = 2)
  Ni <- cumsum(ni)
  Fi <- round(Ni/n,digits = 2)
  distr <- cbind(ni,fi,Ni,Fi)
  return(distr)
}

variabili_quant <- data[c("sales", "volume", "median_price", "listings", "months_inventory")]
risultati_statistiche <- lapply(variabili_quant,statistiche)
kable(risultati_statistiche)
x
Media 192.29
Mediana 175.50
Varianza 6344.30
Deviazione_Standard 79.65
Quantile.0% 79.00
Quantile.25% 127.00
Quantile.50% 175.50
Quantile.75% 247.00
Quantile.100% 423.00
Percentile.0% 79.00
Percentile.1% 80.39
Percentile.2% 87.68
Percentile.3% 89.17
Percentile.4% 91.56
Percentile.5% 93.00
Percentile.6% 94.34
Percentile.7% 96.73
Percentile.8% 98.24
Percentile.9% 101.00
Percentile.10% 101.90
Percentile.11% 104.29
Percentile.12% 107.68
Percentile.13% 108.07
Percentile.14% 110.00
Percentile.15% 111.00
Percentile.16% 113.00
Percentile.17% 114.00
Percentile.18% 115.02
Percentile.19% 117.82
Percentile.20% 120.60
Percentile.21% 123.00
Percentile.22% 124.00
Percentile.23% 124.00
Percentile.24% 125.00
Percentile.25% 127.00
Percentile.26% 128.14
Percentile.27% 130.00
Percentile.28% 130.92
Percentile.29% 132.62
Percentile.30% 135.00
Percentile.31% 137.27
Percentile.32% 140.48
Percentile.33% 143.00
Percentile.34% 144.52
Percentile.35% 147.65
Percentile.36% 149.00
Percentile.37% 149.43
Percentile.38% 150.00
Percentile.39% 151.21
Percentile.40% 155.00
Percentile.41% 159.00
Percentile.42% 160.00
Percentile.43% 161.54
Percentile.44% 163.00
Percentile.45% 164.00
Percentile.46% 165.94
Percentile.47% 167.66
Percentile.48% 169.72
Percentile.49% 173.11
Percentile.50% 175.50
Percentile.51% 176.89
Percentile.52% 180.28
Percentile.53% 181.67
Percentile.54% 182.00
Percentile.55% 186.00
Percentile.56% 186.84
Percentile.57% 189.00
Percentile.58% 191.86
Percentile.59% 196.00
Percentile.60% 197.00
Percentile.61% 198.00
Percentile.62% 200.36
Percentile.63% 202.00
Percentile.64% 205.92
Percentile.65% 208.35
Percentile.66% 211.48
Percentile.67% 213.65
Percentile.68% 219.04
Percentile.69% 224.91
Percentile.70% 228.50
Percentile.71% 233.69
Percentile.72% 238.00
Percentile.73% 239.94
Percentile.74% 244.00
Percentile.75% 247.00
Percentile.76% 253.00
Percentile.77% 254.03
Percentile.78% 258.84
Percentile.79% 262.00
Percentile.80% 271.00
Percentile.81% 272.59
Percentile.82% 277.94
Percentile.83% 282.00
Percentile.84% 283.52
Percentile.85% 287.30
Percentile.86% 289.00
Percentile.87% 292.93
Percentile.88% 295.32
Percentile.89% 298.00
Percentile.90% 302.10
Percentile.91% 314.47
Percentile.92% 321.40
Percentile.93% 326.54
Percentile.94% 333.98
Percentile.95% 347.30
Percentile.96% 357.00
Percentile.97% 367.64
Percentile.98% 372.32
Percentile.99% 396.54
Percentile.100% 423.00
x
Media 31.01
Mediana 27.06
Varianza 277.27
Deviazione_Standard 16.65
Quantile.0% 8.17
Quantile.25% 17.66
Quantile.50% 27.06
Quantile.75% 40.89
Quantile.100% 83.55
Percentile.0% 8.17
Percentile.1% 9.12
Percentile.2% 9.48
Percentile.3% 9.67
Percentile.4% 10.51
Percentile.5% 11.16
Percentile.6% 11.37
Percentile.7% 11.81
Percentile.8% 12.06
Percentile.9% 12.46
Percentile.10% 13.10
Percentile.11% 13.46
Percentile.12% 13.57
Percentile.13% 13.82
Percentile.14% 13.90
Percentile.15% 14.00
Percentile.16% 14.52
Percentile.17% 15.05
Percentile.18% 15.28
Percentile.19% 15.51
Percentile.20% 16.12
Percentile.21% 16.17
Percentile.22% 16.36
Percentile.23% 16.90
Percentile.24% 17.22
Percentile.25% 17.66
Percentile.26% 17.80
Percentile.27% 18.09
Percentile.28% 18.25
Percentile.29% 18.68
Percentile.30% 19.03
Percentile.31% 19.68
Percentile.32% 19.78
Percentile.33% 20.34
Percentile.34% 20.70
Percentile.35% 21.17
Percentile.36% 22.20
Percentile.37% 22.78
Percentile.38% 22.97
Percentile.39% 23.56
Percentile.40% 24.00
Percentile.41% 24.23
Percentile.42% 24.88
Percentile.43% 24.95
Percentile.44% 25.29
Percentile.45% 25.44
Percentile.46% 25.68
Percentile.47% 25.90
Percentile.48% 26.36
Percentile.49% 26.83
Percentile.50% 27.06
Percentile.51% 27.34
Percentile.52% 28.45
Percentile.53% 28.64
Percentile.54% 28.90
Percentile.55% 29.44
Percentile.56% 30.08
Percentile.57% 30.32
Percentile.58% 31.02
Percentile.59% 31.66
Percentile.60% 31.84
Percentile.61% 32.12
Percentile.62% 32.70
Percentile.63% 33.50
Percentile.64% 34.05
Percentile.65% 34.72
Percentile.66% 34.89
Percentile.67% 35.23
Percentile.68% 35.37
Percentile.69% 36.24
Percentile.70% 36.93
Percentile.71% 37.75
Percentile.72% 38.69
Percentile.73% 39.37
Percentile.74% 40.23
Percentile.75% 40.89
Percentile.76% 41.10
Percentile.77% 42.42
Percentile.78% 42.57
Percentile.79% 43.82
Percentile.80% 45.59
Percentile.81% 46.61
Percentile.82% 47.44
Percentile.83% 48.46
Percentile.84% 49.26
Percentile.85% 49.98
Percentile.86% 50.76
Percentile.87% 51.57
Percentile.88% 51.91
Percentile.89% 52.75
Percentile.90% 53.74
Percentile.91% 55.68
Percentile.92% 59.66
Percentile.93% 60.75
Percentile.94% 62.28
Percentile.95% 63.84
Percentile.96% 66.95
Percentile.97% 68.64
Percentile.98% 70.55
Percentile.99% 77.25
Percentile.100% 83.55
x
Media 132665.42
Mediana 134500.00
Varianza 513572983.09
Deviazione_Standard 22662.15
Quantile.0% 73800.00
Quantile.25% 117300.00
Quantile.50% 134500.00
Quantile.75% 150050.00
Quantile.100% 180000.00
Percentile.0% 73800.00
Percentile.1% 86095.00
Percentile.2% 87156.00
Percentile.3% 88736.00
Percentile.4% 90000.00
Percentile.5% 91180.00
Percentile.6% 92472.00
Percentile.7% 94730.00
Percentile.8% 96796.00
Percentile.9% 98418.00
Percentile.10% 99960.00
Percentile.11% 100700.00
Percentile.12% 102012.00
Percentile.13% 102314.00
Percentile.14% 102684.00
Percentile.15% 104565.00
Percentile.16% 105048.00
Percentile.17% 105578.00
Percentile.18% 108006.00
Percentile.19% 109223.00
Percentile.20% 110000.00
Percentile.21% 111290.00
Percentile.22% 113474.00
Percentile.23% 114291.00
Percentile.24% 116180.00
Percentile.25% 117300.00
Percentile.26% 118800.00
Percentile.27% 119624.00
Percentile.28% 120692.00
Percentile.29% 121131.00
Percentile.30% 121650.00
Percentile.31% 122827.00
Percentile.32% 123488.00
Percentile.33% 124287.00
Percentile.34% 126126.00
Percentile.35% 127715.00
Percentile.36% 128812.00
Percentile.37% 129286.00
Percentile.38% 129928.00
Percentile.39% 130000.00
Percentile.40% 130700.00
Percentile.41% 130800.00
Percentile.42% 131438.00
Percentile.43% 132331.00
Percentile.44% 132548.00
Percentile.45% 133065.00
Percentile.46% 133294.00
Percentile.47% 133899.00
Percentile.48% 134172.00
Percentile.49% 134311.00
Percentile.50% 134500.00
Percentile.51% 134967.00
Percentile.52% 135412.00
Percentile.53% 135901.00
Percentile.54% 136330.00
Percentile.55% 137870.00
Percentile.56% 138468.00
Percentile.57% 139246.00
Percentile.58% 139848.00
Percentile.59% 140501.00
Percentile.60% 141220.00
Percentile.61% 142358.00
Percentile.62% 142772.00
Percentile.63% 143828.00
Percentile.64% 144100.00
Percentile.65% 144670.00
Percentile.66% 144874.00
Percentile.67% 145917.00
Percentile.68% 146952.00
Percentile.69% 147582.00
Percentile.70% 147960.00
Percentile.71% 148369.00
Percentile.72% 148516.00
Percentile.73% 148994.00
Percentile.74% 149300.00
Percentile.75% 150050.00
Percentile.76% 150892.00
Percentile.77% 151506.00
Percentile.78% 151942.00
Percentile.79% 152100.00
Percentile.80% 152360.00
Percentile.81% 153100.00
Percentile.82% 153888.00
Percentile.83% 154696.00
Percentile.84% 155276.00
Percentile.85% 155515.00
Percentile.86% 155654.00
Percentile.87% 156386.00
Percentile.88% 156500.00
Percentile.89% 157097.00
Percentile.90% 158850.00
Percentile.91% 159547.00
Percentile.92% 161000.00
Percentile.93% 161454.00
Percentile.94% 163766.00
Percentile.95% 165340.00
Percentile.96% 167828.00
Percentile.97% 169583.00
Percentile.98% 172288.00
Percentile.99% 174813.00
Percentile.100% 180000.00
x
Media 1738.02
Mediana 1618.50
Varianza 566568.97
Deviazione_Standard 752.71
Quantile.0% 743.00
Quantile.25% 1026.50
Quantile.50% 1618.50
Quantile.75% 2056.00
Quantile.100% 3296.00
Percentile.0% 743.00
Percentile.1% 775.17
Percentile.2% 799.90
Percentile.3% 822.53
Percentile.4% 841.36
Percentile.5% 849.70
Percentile.6% 855.70
Percentile.7% 866.11
Percentile.8% 877.60
Percentile.9% 891.08
Percentile.10% 899.90
Percentile.11% 904.29
Percentile.12% 907.00
Percentile.13% 914.00
Percentile.14% 918.68
Percentile.15% 932.70
Percentile.16% 938.48
Percentile.17% 941.00
Percentile.18% 950.10
Percentile.19% 961.82
Percentile.20% 968.00
Percentile.21% 973.00
Percentile.22% 994.74
Percentile.23% 1004.97
Percentile.24% 1018.16
Percentile.25% 1026.50
Percentile.26% 1030.14
Percentile.27% 1046.83
Percentile.28% 1126.00
Percentile.29% 1168.64
Percentile.30% 1208.70
Percentile.31% 1261.90
Percentile.32% 1328.72
Percentile.33% 1385.00
Percentile.34% 1439.78
Percentile.35% 1443.95
Percentile.36% 1462.72
Percentile.37% 1486.00
Percentile.38% 1496.92
Percentile.39% 1502.89
Percentile.40% 1525.20
Percentile.41% 1533.99
Percentile.42% 1540.90
Percentile.43% 1559.01
Percentile.44% 1570.80
Percentile.45% 1576.10
Percentile.46% 1581.00
Percentile.47% 1586.66
Percentile.48% 1598.16
Percentile.49% 1604.99
Percentile.50% 1618.50
Percentile.51% 1623.56
Percentile.52% 1638.80
Percentile.53% 1646.67
Percentile.54% 1655.12
Percentile.55% 1660.35
Percentile.56% 1668.52
Percentile.57% 1672.69
Percentile.58% 1676.24
Percentile.59% 1681.02
Percentile.60% 1687.80
Percentile.61% 1694.95
Percentile.62% 1708.00
Percentile.63% 1722.57
Percentile.64% 1729.76
Percentile.65% 1737.45
Percentile.66% 1749.74
Percentile.67% 1762.39
Percentile.68% 1769.08
Percentile.69% 1784.46
Percentile.70% 1796.00
Percentile.71% 1817.04
Percentile.72% 1830.16
Percentile.73% 1833.47
Percentile.74% 1844.30
Percentile.75% 2056.00
Percentile.76% 2485.60
Percentile.77% 2609.48
Percentile.78% 2643.50
Percentile.79% 2690.30
Percentile.80% 2721.40
Percentile.81% 2733.72
Percentile.82% 2762.62
Percentile.83% 2789.11
Percentile.84% 2825.44
Percentile.85% 2852.45
Percentile.86% 2862.94
Percentile.87% 2875.93
Percentile.88% 2903.40
Percentile.89% 2932.78
Percentile.90% 2946.70
Percentile.91% 2966.72
Percentile.92% 2996.56
Percentile.93% 3041.27
Percentile.94% 3051.24
Percentile.95% 3094.35
Percentile.96% 3164.36
Percentile.97% 3214.26
Percentile.98% 3263.66
Percentile.99% 3270.05
Percentile.100% 3296.00
x
Media 9.19
Mediana 8.95
Varianza 5.31
Deviazione_Standard 2.30
Quantile.0% 3.40
Quantile.25% 7.80
Quantile.50% 8.95
Quantile.75% 10.95
Quantile.100% 14.90
Percentile.0% 3.40
Percentile.1% 4.00
Percentile.2% 4.08
Percentile.3% 4.55
Percentile.4% 4.96
Percentile.5% 5.00
Percentile.6% 5.07
Percentile.7% 6.07
Percentile.8% 6.12
Percentile.9% 6.40
Percentile.10% 6.69
Percentile.11% 6.93
Percentile.12% 7.00
Percentile.13% 7.10
Percentile.14% 7.10
Percentile.15% 7.20
Percentile.16% 7.22
Percentile.17% 7.30
Percentile.18% 7.40
Percentile.19% 7.50
Percentile.20% 7.50
Percentile.21% 7.60
Percentile.22% 7.60
Percentile.23% 7.60
Percentile.24% 7.74
Percentile.25% 7.80
Percentile.26% 7.80
Percentile.27% 7.85
Percentile.28% 7.90
Percentile.29% 7.90
Percentile.30% 7.97
Percentile.31% 8.00
Percentile.32% 8.00
Percentile.33% 8.09
Percentile.34% 8.10
Percentile.35% 8.10
Percentile.36% 8.10
Percentile.37% 8.14
Percentile.38% 8.30
Percentile.39% 8.32
Percentile.40% 8.40
Percentile.41% 8.40
Percentile.42% 8.50
Percentile.43% 8.58
Percentile.44% 8.60
Percentile.45% 8.70
Percentile.46% 8.70
Percentile.47% 8.73
Percentile.48% 8.80
Percentile.49% 8.90
Percentile.50% 8.95
Percentile.51% 9.00
Percentile.52% 9.00
Percentile.53% 9.07
Percentile.54% 9.10
Percentile.55% 9.10
Percentile.56% 9.20
Percentile.57% 9.30
Percentile.58% 9.36
Percentile.59% 9.40
Percentile.60% 9.40
Percentile.61% 9.50
Percentile.62% 9.62
Percentile.63% 9.81
Percentile.64% 10.00
Percentile.65% 10.00
Percentile.66% 10.17
Percentile.67% 10.21
Percentile.68% 10.40
Percentile.69% 10.49
Percentile.70% 10.53
Percentile.71% 10.60
Percentile.72% 10.70
Percentile.73% 10.75
Percentile.74% 10.80
Percentile.75% 10.95
Percentile.76% 11.10
Percentile.77% 11.20
Percentile.78% 11.30
Percentile.79% 11.30
Percentile.80% 11.40
Percentile.81% 11.40
Percentile.82% 11.50
Percentile.83% 11.60
Percentile.84% 11.60
Percentile.85% 11.62
Percentile.86% 11.70
Percentile.87% 11.70
Percentile.88% 11.93
Percentile.89% 12.00
Percentile.90% 12.21
Percentile.91% 12.30
Percentile.92% 12.40
Percentile.93% 12.60
Percentile.94% 12.90
Percentile.95% 13.02
Percentile.96% 13.34
Percentile.97% 13.48
Percentile.98% 13.84
Percentile.99% 14.50
Percentile.100% 14.90
nomi_variabili <- c("sales", "volume", "median_price", "listings", "months_inventory")
risultati_asimmetrie <- list()
for (nome in nomi_variabili) {
  variabile_corrente <- data[[nome]]
  risultati_asimmetrie[[nome]] <- asimmetria(variabile_corrente, nome)
}

kable(risultati_asimmetrie)
x
0.71
x
0.88
x
-0.36
x
0.65
x
0.04
risultati_curtosi <- lapply(variabili_quant,curtosi)
kable(risultati_curtosi)
x
-0.34
x
0.15
x
-0.64
x
-0.81
x
-0.2
city_distr_freq <- distribuzione_frequenza(city,n)
kable(city_distr_freq)
ni fi Ni Fi
Beaumont 60 0.25 60 0.25
Bryan-College Station 60 0.25 120 0.50
Tyler 60 0.25 180 0.75
Wichita Falls 60 0.25 240 1.00
year_distr_freq <- distribuzione_frequenza(year,n)
kable(year_distr_freq)
ni fi Ni Fi
2010 48 0.2 48 0.2
2011 48 0.2 96 0.4
2012 48 0.2 144 0.6
2013 48 0.2 192 0.8
2014 48 0.2 240 1.0
month_distr_freq <- distribuzione_frequenza(month,n)
kable(month_distr_freq)
ni fi Ni Fi
20 0.08 20 0.08
20 0.08 40 0.17
20 0.08 60 0.25
20 0.08 80 0.33
20 0.08 100 0.42
20 0.08 120 0.50
20 0.08 140 0.58
20 0.08 160 0.67
20 0.08 180 0.75
20 0.08 200 0.83
20 0.08 220 0.92
20 0.08 240 1.00

L’analisi delle variabili ha riportato le differenti caratteristiche in termini di forma e variabilità. Le variabili sales, month_inventory, volume, median_price e listings mostrano una chiara eterogeneità nelle loro distirbuzioni. nello specifico: le variabili sales, volume e listings presentano un’asimmetria positiva, con indici di fisher rispettivamente pari a 0.71, 0.88 e 0.65. indicando una maggiore concentrazione di valori lungo la coda sinistra della distribuzione, ciò viene confermato dai grafici. median_price mostra un’asimmetria negativa, con un indice di -0.36, evidenziando una maggiore concentrazione lungo la coda destra della distribuzione. la variabile month_inventory, presenta un asimmetria trascurabile, il valore dell’indice di fisher è pari a 0.04.
I valori della curtosi per le variabili sales, median_price, listings e month_inventory presentano una distribuzione platicurtica, ossia una distribuzione meno appuntina (più piatta) rispetto a una distribuzione gaussiana (o normale/campanulare). i valori dell’indice delle rispettive variabili sono: -0.34, -0.64, -0.81, -0.2.
L’unica eccezione riguarda la variabile volume, questa ha una distribuzione leptocurtica (leggermente appuntita), il suo valore dell’indice è pari a 0.15.

L’analisi circa le distribuzioni di frequenze mostra che le variabili city, year e month hanno una distribuzione uniforme. Le osservzioni sono equamente ripartite lungo le rispettive classi.

Punto 3

coefficiente_variazione <- function(variabile){
  media <- mean(variabile)
  dev <- sd(variabile)
  coef <- dev/media
  coef <- round(coef,digits=2)
  return(coef)
}
risultati_coef_var <- lapply(variabili_quant, coefficiente_variazione)
kable(risultati_coef_var)
x
0.41
x
0.54
x
0.17
x
0.43
x
0.25

Punto 4

nomi_classi <- c("<=100k","100-120k","120-140k","140-160kg","160-180k")
breaks <- c(0,100000,120000,140000,160000,180001)
new_median_price <- cut(median_price, breaks = breaks, label=nomi_classi, right = FALSE)
count_new_median_price <- table(new_median_price)

new_median_price_distr_freq <- distribuzione_frequenza(new_median_price,n)
n_frequenze_median_price <- new_median_price_distr_freq[,1]
barplot(n_frequenze_median_price,
        main="Distribuzione frequenza di Median Price",
        xlab = "Prezzo delle case espresso i migliaia di dollari",
        ylab = "Frequenze assolute",
        col= "lightblue")

gini <- function(var){
  ni <- table(var)
  fi <- ni/length(var)
  fi2 <- fi^2
  j <- length(ni)
  
  gini = 1-sum(fi2)
  gini.normalizzato = gini/((j-1)/j)
  gini.normalizzato <- round(gini.normalizzato,digits = 2)
  return(gini.normalizzato)
}
gini_median_price <- gini(new_median_price)
kable(gini_median_price)
x
0.93
count_new_median_price
## new_median_price
##    <=100k  100-120k  120-140k 140-160kg  160-180k 
##        24        41        74        80        21

La variabile median_price mostra una distribuzione fortemente eterogena, evidenziando un valore dell’indice di gini elevato (0.93)

Punto 5

città<- table(city)
n_bea<- as.numeric(città["Beaumont"])
prob_bea <- n_bea/n
kable(round(prob_bea,digits = 2))
x
0.25
mesi <- table(month)
n_luglio <- as.numeric(mesi[7])
prob_luglio <- n_luglio/n
kable(round(prob_luglio,digits = 3))
x
0.083
anno2012_dicembre <- data[data$year == 2012 & data$month==12,]
n_2012_dicembre <- nrow(anno2012_dicembre)
prob_2012_dicembre <- n_2012_dicembre/n
kable(round(prob_2012_dicembre,digits = 3))
x
0.017

Punto 6

data$prezzo_medio <- (data$volume/data$sales)*1000000
summary(data$prezzo_medio)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   97010  132939  156588  154320  173915  213234
data$efficacia_annunci <- data$sales/data$listings
summary(data$efficacia_annunci)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.05014 0.08980 0.10963 0.11874 0.13492 0.38713

Punto 7

library("dplyr")
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library("ggplot2")

statistiche_citta <- data %>% group_by(city) %>% summarise(
  media=round(mean(prezzo_medio)/1000,digits = 2),
  sd=round(sd(prezzo_medio)/1000,digits = 2))
kable(statistiche_citta)
city media sd
Beaumont 146.64 11.23
Bryan-College Station 183.53 15.15
Tyler 167.68 12.35
Wichita Falls 119.43 11.40
statistiche_citta %>% 
  ggplot(aes(x=city,y=media))+ 
  geom_bar(stat="identity",color="black",lwd=0.3, fill="lightblue")+
  labs(title="Prezzo medio per città (in migliaia)",x="città",y="media ($)")+
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

statistiche_anno <- data %>% group_by(year) %>% summarise(
  media=round(mean(prezzo_medio)/1000,digits = 2),
  sd=round(sd(prezzo_medio)/1000,digits = 2))
kable(statistiche_anno)
year media sd
2010 150.19 23.28
2011 148.25 24.94
2012 150.90 26.44
2013 158.71 26.52
2014 163.56 31.74
statistiche_anno %>% 
  ggplot(aes(x=year,y=media))+
  geom_line(stat="identity",color="black",lwd=0.5)+
  labs(title="Prezzo medio negli anni (in migliaia)", x="anni",y="media ($)")

statistiche_quadrimestri <- data %>%
  group_by( quadrimestre = case_when(
      month %in% c(1, 2, 3, 4) ~ "1° quadrimestre",
      month %in% c(5, 6, 7, 8) ~ "2° quadrimestre",
      month %in% c(9, 10, 11, 12) ~ "3° quadrimestre"
    )
  ) %>% summarise(
    media = round(mean(prezzo_medio, na.rm = TRUE) / 1000, digits = 2),
    sd = round(sd(prezzo_medio, na.rm = TRUE) / 1000, digits = 2))
kable(statistiche_quadrimestri)
quadrimestre media sd
1° quadrimestre 149.27 25.80
2° quadrimestre 158.28 25.82
3° quadrimestre 155.41 29.23
statistiche_quadrimestri %>%
  ggplot(aes(x=quadrimestre, y=media))+
  geom_bar(stat="identity",color="black",lwd=0.3,fill="lightblue")+
  geom_text(aes(label = media), vjust = -0.01, size = 4.4, color = "black")+
  labs(title="Prezzo medio per quadrimestre (in migliaia)",x="Quadrimestre",y="Media ($)")

Punto 8

library("ggplot2")

ggplot(data = data) +
  geom_boxplot(aes(x = city, y = median_price, fill = city), linewidth = 0.5) +
  labs(x = "città",y = "prezzo mediano in $",title = "prezzo mediano tra le città")+ theme(axis.text.x = element_text(angle = 45, hjust = 1))

ggplot(data=data)+
  geom_bar(aes(x=as.factor(month),y=sales,fill=city),stat="identity")+
  labs(x="città",y="totale vendite",title="totale vendite per città nei mesi")+
  theme(axis.text.x = element_text(angle = 45, hjust = 1))+ facet_wrap(~city)

data$date_string <- paste(data$year,data$month,"01",sep="-")
data$date <- as.Date(data$date_string, format = "%Y-%m-%d")

ggplot(data=data)+
  geom_line(aes(x=date,y=sales,color=as.factor(year),group= as.factor(year)))+
  labs(x="mese",y="totale vendite",title="totale vendite (2010-2014)")+
  scale_x_date(date_breaks = "4 month",date_labels = "%Y-%m")+
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) 

Il primo grafico mostra il prezzo mediano delle città, possiamo osservare come la mediana (linea all’interno del box) più alta si trovi a Bryan-College. Per ottenere informazioni circa la distribuzione dei prezzi mediani osserviamo le altezze dei box delle rispettive città: la città di Bryan-College mostra una minore variabilità del prezzo mediano in quanto ha una distribuzione meno ampia rispetto alle altre città (box con l’altezza più bassa). Tutte le città ad eccezione di Tyler presentano valori anomali. Possiamo evidenziare come la città di Bryan-College abbia una distribuzione dei prezzi mediani più alta e concentrata, mentre Wichita Falls ha i prezzi mediani più bassi.

Il secondo grafico mostra il volume delle vendite durante l’anno nelle rispettive città: possiamo evidenziare come la città di Tyler e Bryan-College abbiano un volume di vendite superiore rispetto alle altre due. Inoltre sembra che nei primi mesi (specialmente a gennaio e febbraio) si riscontri un numero inferiore di vendite. Si nota invece un aumento nei periodi primaverili/estivi per poi ridurre verso la fine dell’anno. Whicita Falls è la città con il minor volume di vendite, il suo andamento durante tutto l’anno risulta abbastanza stabile, al contrario delle altre città.

Il terzo grafico mostra il volume delle vendite durante il periodo 2010-2014, possiamo osservare quanto visto nel grafico precedente: nei primi mesi dell’anno vi è un volume di vendite basso, questo tende ad alzarsi significativamente durante il periodo primaverile e estivo per poi ridursi verso la fine dell’anno. In questo grafico possiamo osservare come il volume delle vendite sia cresciuto sempre di più con l’aumentare degli anni, inoltre anche i picchi nei periodi estivi risultano sempre più alti. Nella parte finale dell’anno 2014, il volume delle ventie non si è ridotto in modo significativo, evidenziando una controtendenza rispetto all’andamento degli anni precedenti.

Ulteriori considerazioni

library("ggplot2")
ggplot(data=data)+
  geom_boxplot(aes(x = as.factor(year), y = sales, fill = city))+
  labs(x="anno",y="totale vendite",title="vendite immobili (2010-2014)")+
  theme(axis.text.x = element_text(angle = 45, hjust = 1))+ facet_wrap(~city)

ggplot(data) +
  geom_bar(aes(x = factor(month), y = sales, fill = city),
    stat = "identity",position = "fill") +
  labs(title = "quota percentuale di vendite per città e mese",x = "mese",y = "quota di vendite (%)")+ 
  facet_wrap(~year) + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) 

ggplot(data) +
  geom_bar(aes(x = factor(month), y = sales, fill = city),
    stat = "identity",position = "fill") +
  labs(title = "quota percentuale di vendite per città e mese",x = "mese",y = "quota di vendite (%)")+ 
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) 

ggplot(data=data)+
  geom_line(aes(x=date,y=prezzo_medio,color=city))+
  labs(x="mese",y="prezzo medio ($)",title="prezzo medio case (2010-2014)")+
  scale_x_date(date_breaks = "4 month",date_labels = "%Y-%m")+
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) 

Il primo grafico mostra la distribuzione delle vendite per ogni anno (2010-2014), delle rispettive città. il grafico evidenzia come il volume delle vendite differisce per città: Tyler e Bryan registrano un numero più alto di vendite; Beaumont si trova in una fascia intermedia; Wichita Falls ha i volumi e variabilità più bassa. Tutte le città, ad eccezione di Wichita Falls, mostrano un trend crescente con l’aumentare degli anni. I box di Tyler e Bryan risultano più alti rispetto alle altre città evidenziando una maggiore variabilità della distribuzione.

Il secondo grafico mostra la quota percentuale di vendite immobiliari suddivisa tra le varie dal 2010 al 2014. possiamo osservare come le rispettive quote percentuali rimangano quasi costanti nel tempo, non ci sono inversioni di tendenza forti o movimenti singificativi.
La città di Tyler mantiene la quota più alta di tutti (intorno al 35-40%);Bryan college ha una quota intorno al 25%; Beaumont si posiziona al di sotto con una quota del 20-25% circa. La quota più bassa è di Wichita Falls (tra il 15 e 20%). Le proporzioni sembrano mantenersi stabili durante tutti gli anni analizzati.

Il terzo grafico, più generale, mostra la quota percentuale di vendite immobiliare senza suddividerla per il periodo 2010-2014. Anche qui vengono confermate le analisi del secondo grafico.

L’ultimo grafico mostra l’andamento del prezzo medio delle case dal 2010 al 2014. Si osserva un andamento crescente, con intensità diverse e segnato da una marcata volatilità, in tutte le città. La città di Bryan registra i valori più alti e una crescita costante dal 2012. Tyler risulta invece più volatile lungo tutto l’intervallo temporale, nonostante sia in crescita.
La città di Beaumont registra prezzi più bassi e delle oscillazioni piuttosto frequenti. Wichita Falls presenta i valori più bassi in quasi tutto il periodo, mostrando difficoltà sia nell’aumentare il prezzo medio che il volume delle vendite.