This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the plot.
setwd(“C:\Users\fabio\OneDrive\Desktop\certificati\certificazioni\certificazioni
ProfessionAI\Progetti\statistica descrittiva”)
dati<-read.csv(“realestate_texas.csv”, sep=“,”)
#1. Analisi delle variabili summary(dati) # Identificazione e descrizione delle variabili # city: variabile categoriale (nominale), rappresenta la città di riferimento # year: variabile numerica discreta, indica l’anno della vendita # month: variabile numerica discreta, indica il mese della vendita # sales: variabile numerica discreta, numero totale di vendite # volume: variabile numerica continua, valore totale delle vendite (in milioni di dollari) # median_price: variabile numerica continua, prezzo mediano degli immobili venduti # listings: variabile numerica discreta, numero totale di annunci attivi # months_inventory: variabile numerica continua, tempo necessario per vendere tutte le inserzioni
library(moments) mean_sales <- mean(dati\(sales) sd_sales <- sd(dati\)sales) skew_sales <- skewness(dati\(sales) kurt_sales <- kurtosis(dati\)sales)
mean_volume <- mean(dati\(volume) sd_volume <- sd(dati\)volume) skew_volume <- skewness(dati\(volume) kurt_volume <- kurtosis(dati\)volume)
mean_price <- mean(dati\(median_price) sd_price <- sd(dati\)median_price) skew_price <- skewness(dati\(median_price) kurt_price <- kurtosis(dati\)median_price)
mean_listings <- mean(dati\(listings) sd_listings <- sd(dati\)listings) skew_listings <- skewness(dati\(listings) kurt_listings <- kurtosis(dati\)listings)
mean_months_inventory <- mean(dati\(months_inventory) sd_months_inventory <- sd(dati\)months_inventory) skew_months_inventory <- skewness(dati\(months_inventory) kurt_months_inventory <- kurtosis(dati\)months_inventory)
#Distribuzione di frequenza per variabili categoriali. library(dplyr)
distribuzione_citta <- dati %>% count(city) print(distribuzione_citta)
distribuzione_anno <- dati %>% count(year) print(distribuzione_anno)
distribuzione_mese <- dati %>% count(month) print(distribuzione_mese)
#Commento # Le distribuzioni mostrano che il dataset è bilanciato: ogni città ha lo stesso numero di osservazioni (60), # ogni anno ha un numero costante di osservazioni (48) e ogni mese ha 20 osservazioni.
volume e suddividiamola in
classibreaks <- seq(min(dati\(volume), max(dati\)volume), length.out = 6) dati\(volume_class <- cut(dati\)volume, breaks = breaks, include.lowest = TRUE, labels = c(“Molto Basso”, “Basso”, “Medio”, “Alto”, “Molto Alto”))
distribuzione_frequenze <- dati %>% count(volume_class) print(distribuzione_frequenze)
library(ggplot2) ggplot(distribuzione_frequenze, aes(x = volume_class, y = n, fill = volume_class)) + geom_bar(stat = “identity”) + theme_minimal() + labs(title = “Distribuzione del Volume di Vendite per Classe”, x = “Classi di Volume”, y = “Frequenza”)
gini_index <- function(x) { ni <- table(x) # Frequenze assolute fi <- ni / length(x) # Frequenze relative fi2 <- fi^2 # Quadrato delle frequenze relative J <- length(table(x)) # Numero di classi uniche gini <- 1 - sum(fi2) # Indice di Gini gini_normalizzato <- gini / ((J - 1) / J) # Normalizzazione return(gini_normalizzato) }
gini_volume <- gini_index(dati$volume) print(gini_volume) # Commento sui risultati: # - Il volume delle vendite è fortemente concentrato nelle classi ‘Molto Basso’ e ‘Basso’. # - L’indice di Gini estremamente alto (0.9999484) indica una forte disuguaglianza nella distribuzione del valore delle vendite.
prob_beaumont <- sum(dati$city == “Beaumont”) / nrow(dati)
prob_luglio <- sum(dati$month == 7) / nrow(dati)
prob_dicembre_2012 <- sum(dati\(year == 2012 & dati\)month == 12) / nrow(dati)
dati\(prezzo_medio <- dati\)volume / dati$sales
dati\(efficacia_annunci <- dati\)sales / dati$listings
statistiche_citta <- dati %>% group_by(city) %>% summarise( media_prezzo = mean(prezzo_medio), sd_prezzo = sd(prezzo_medio), media_efficacia = mean(efficacia_annunci), sd_efficacia = sd(efficacia_annunci) ) print(statistiche_citta)
statistiche_anno <- dati %>% group_by(year) %>% summarise( media_prezzo = mean(prezzo_medio), sd_prezzo = sd(prezzo_medio), media_efficacia = mean(efficacia_annunci), sd_efficacia = sd(efficacia_annunci) ) print(statistiche_anno)
statistiche_mese <- dati %>% group_by(month) %>% summarise( media_prezzo = mean(prezzo_medio), sd_prezzo = sd(prezzo_medio), media_efficacia = mean(efficacia_annunci), sd_efficacia = sd(efficacia_annunci) ) print(statistiche_mese)
ggplot(dati, aes(x = city, y = median_price, fill = city)) + geom_boxplot() + theme_minimal() + labs(title = “Distribuzione del Prezzo Mediano per Città”, x = “Città”, y = “Prezzo Mediano”)
ggplot(dati, aes(x = as.factor(month), y = sales, fill = city)) + geom_bar(stat = “identity”, position = “dodge”) + theme_minimal() + labs(title = “Totale delle Vendite per Mese e Città”, x = “Mese”, y = “Vendite”)
ggplot(dati, aes(x = as.Date(paste(year, month, “01”, sep = “-”)), y = sales, color = city)) + geom_line() + theme_minimal() + labs(title = “Andamento delle Vendite nel Tempo”, x = “Data”, y = “Vendite”)
ggplot(dati, aes(x = city, y = volume, fill = city)) + geom_boxplot() + theme_minimal() + labs(title = “Distribuzione del Valore Totale delle Vendite per Città”, x = “Città”, y = “Valore Totale delle Vendite (milioni di dollari)”)
ggplot(dati, aes(x = as.factor(year), y = volume, fill = as.factor(year))) + geom_boxplot() + theme_minimal() + labs(title = “Distribuzione del Valore Totale delle Vendite per Anno”, x = “Anno”, y = “Valore Totale delle Vendite (milioni di dollari)”)
ggplot(dati, aes(x = as.factor(month), y = sales, fill = city)) + geom_bar(stat = “identity”, position = “fill”) + theme_minimal() + labs(title = “Distribuzione Percentuale delle Vendite per Mese e Città”, x = “Mese”, y = “Percentuale Vendite”)
# L’analisi evidenzia un incremento costante del valore totale delle vendite tra il 2010 e il 2014, # suggerendo una crescita sostenuta del mercato immobiliare. Le città di Tyler e Bryan-College Station # si distinguono per un volume di vendite significativamente più elevato rispetto a Beaumont e Wichita Falls, # con una maggiore variabilità nelle prime due città, indice di una dinamica di mercato più attiva. # La distribuzione delle vendite nel corso dell’anno segue un chiaro schema stagionale, con un incremento # delle transazioni nei mesi primaverili ed estivi, culminando tra Aprile e Luglio, e un calo nei mesi invernali. # La ripartizione percentuale delle vendite tra le città rimane relativamente stabile, ad eccezione di # un lieve aumento della quota di mercato di Bryan-College Station nei mesi estivi, il che potrebbe # indicare una maggiore attrattività della città in determinati periodi dell’anno.