Caricamento librerie

library(dplyr)
library(ggplot2)
library(readxl)
library(knitr)
options(scipen = 999)

Parte 1: Dati

Caricamento dati:

Comuni_2020 <- read.csv("POSAS_2020_it_Comuni.csv", sep = ";")
Comuni_2025 <- read.csv("POSAS_2025_it_Comuni.csv", sep = ";")
Elenco_comuni_italiani <- read_excel("Elenco-comuni-italiani.xlsx")

Parte 2: Domanda di ricerca

Si vuole evidenziare che dal 2020 al 2025 la popolazione è diminuita di 717.365 unità. I vari grafici evidenziano la diminuzione della popolazione per regione italiana e ripartizione geografica ad eccezione di Lombardia e Trentino dove risulta un incremento. I comuni con le maggiori perdite sono: Roma, Napoli, Milano, Palermo, Trapani, Messina ecc.

Parte 3: Esplorazione dati

df_2020 <- Comuni_2020 %>%
  filter(Età==999) %>%
  select(Comune,Totale)

colnames(df_2020)[2] <- "Popolazione_2020"

df_2025 <- Comuni_2025 %>%
  filter(Età==999) %>%
  select(Comune,Totale)

colnames(df_2025)[2] <- "Popolazione_2025"

df_2020 <- merge(df_2020,df_2025, by.x="Comune")

df<-Elenco_comuni_italiani %>%
  select(`Denominazione in italiano`,`Denominazione Regione`, `Ripartizione geografica`)
colnames(df)[1] <-"Comune"

df_2020 <-merge(df_2020, df, by.x="Comune")

df_2020$Saldo <- df_2020$Popolazione_2025 - df_2020$Popolazione_2020 
df_2020$perc <- df_2020$Popolazione_2025*100/df_2020$Popolazione_2020-100
paste("Diminuzione della popolazione in Italia dal 2020 al 2025 =",sum(df_2020$Saldo))
## [1] "Diminuzione della popolazione in Italia dal 2020 al 2025 = -717365"

Primi 50 comuni italiani per decrescita della popolazione:

df<- df_2020 %>%
  select(Comune,`Denominazione Regione`, Popolazione_2020, Popolazione_2025, Saldo,perc) %>%
  arrange(Saldo)

kable(head(df,50))
Comune Denominazione Regione Popolazione_2020 Popolazione_2025 Saldo perc
Roma Lazio 2808293 2746984 -61309 -2.183141
Napoli Campania 948850 908082 -40768 -4.296570
Milano Lombardia 1406242 1366155 -40087 -2.850647
Palermo Sicilia 647422 625956 -21466 -3.315612
Trapani Sicilia 65841 54887 -10954 -16.637050
Messina Sicilia 227424 216918 -10506 -4.619565
Venezia Veneto 258685 249466 -9219 -3.563794
Reggio di Calabria Calabria 174885 168572 -6313 -3.609801
Salerno Campania 131556 125958 -5598 -4.255222
Taranto Puglia 191050 185909 -5141 -2.690919
Sassari Sardegna 125273 120497 -4776 -3.812474
Bologna Emilia-Romagna 395416 390734 -4682 -1.184069
Firenze Toscana 366927 362353 -4574 -1.246570
Cagliari Sardegna 151005 146627 -4378 -2.899242
Modena Emilia-Romagna 189013 184739 -4274 -2.261220
Foggia Puglia 149673 145447 -4226 -2.823488
Pozzuoli Campania 79407 75192 -4215 -5.308096
Catanzaro Calabria 87397 83247 -4150 -4.748447
Livorno Toscana 157017 152916 -4101 -2.611819
Verona Veneto 259087 255133 -3954 -1.526128
San Teodoro Sardegna 4978 1210 -3768 -75.693049
San Teodoro Sicilia 4978 1210 -3768 -75.693049
Torre del Greco Campania 83044 79294 -3750 -4.515678
Terni Umbria 110003 106411 -3592 -3.265366
Ferrara Emilia-Romagna 132899 129384 -3515 -2.644866
Siracusa Sicilia 119056 115636 -3420 -2.872598
Trieste Friuli-Venezia Giulia 201613 198668 -2945 -1.460719
Sesto San Giovanni Lombardia 81706 78843 -2863 -3.504027
Crotone Calabria 61005 58181 -2824 -4.629129
Brindisi Puglia 84465 81664 -2801 -3.316167
Benevento Campania 58338 55645 -2693 -4.616202
Potenza Basilicata 66393 63839 -2554 -3.846791
Teramo Abruzzo 53998 51539 -2459 -4.553872
Perugia Umbria 164880 162467 -2413 -1.463489
Padova Veneto 210077 207694 -2383 -1.134346
Cosenza Calabria 65623 63241 -2382 -3.629825
Agrigento Sicilia 57592 55227 -2365 -4.106473
Como Lombardia 85543 83228 -2315 -2.706241
Castellammare di Stabia Campania 64466 62157 -2309 -3.581733
Caltanissetta Sicilia 60294 58045 -2249 -3.730056
Ercolano Campania 51588 49344 -2244 -4.349849
Manfredonia Puglia 55517 53288 -2229 -4.014986
Portici Campania 53485 51351 -2134 -3.989904
Ascoli Piceno Marche 47404 45310 -2094 -4.417349
San Giorgio a Cremano Campania 43800 41748 -2052 -4.684932
Aversa Campania 51344 49295 -2049 -3.990729
Arzano Campania 33756 31782 -1974 -5.847849
Pistoia Toscana 90908 88943 -1965 -2.161526
Nuoro Sardegna 34996 33106 -1890 -5.400617
Chieti Abruzzo 50287 48434 -1853 -3.684849
df_2020 %>%
  group_by(`Denominazione Regione`) %>%
  summarise(Saldo_netto= sum(Saldo)) %>%
  mutate(`Denominazione Regione`=reorder(`Denominazione Regione`,-Saldo_netto)) %>%
  ggplot(aes(`Denominazione Regione`,Saldo_netto))+
  geom_bar(stat = "identity", fill="white", colour="red")+
  coord_flip()+
  geom_text(aes(label=Saldo_netto), hjust=0, size=3, colour="blue" )+
  xlab("Regione")+
  ylab("Decrescita della popolazione")+
  ggtitle("Decrescita della popolazione in Italia dal 2020 al 2025")

df_2020 %>%
  group_by(`Ripartizione geografica`) %>%
  summarise(Saldo_netto= sum(Saldo)) %>%
  mutate(`Ripartizione geografica`=reorder(`Ripartizione geografica`,-Saldo_netto)) %>%
  ggplot(aes(`Ripartizione geografica`,Saldo_netto))+
  geom_bar(stat = "identity", fill="white", colour="red")+
  geom_text(aes(label=Saldo_netto), vjust=-1, size=3, colour="blue" )+
  ylab("Regione")+
  xlab("Decrescita della popolazione")+
  ggtitle("Decrescita della popolazione in Italia dal 2020 al 2025")

df_2020 %>%
  group_by(`Denominazione Regione`) %>%
  summarise(Percentuale= mean(perc)) %>%
  mutate(`Denominazione Regione`=reorder(`Denominazione Regione`,-Percentuale)) %>%
  ggplot(aes(`Denominazione Regione`,Percentuale))+
   geom_bar(stat = "identity", fill="pink", colour="black")+
  coord_flip()+
  geom_text(aes(label=paste(round(Percentuale,2),"%")), hjust=0, size=3, colour="blue" )+
  xlab("Regione")+
  ylab("Percentuale media di decrescita della popolazione")+
  ggtitle("Percentuale media di decrescita della popolazione in Italia", subtitle = "dal 2020 al 2025")

df_2020 %>%
  group_by(`Ripartizione geografica`) %>%
  summarise(Percentuale= mean(perc)) %>%
  mutate(`Ripartizione geografica`=reorder(`Ripartizione geografica`,-Percentuale)) %>%
  ggplot(aes(`Ripartizione geografica`,Percentuale))+
  geom_bar(stat = "identity", fill="pink", colour="black")+
  geom_text(aes(label=paste(round(Percentuale,2),"%")), vjust=-1, size=3, colour="blue" )+
  ylab("Percentuale media di decrescita della popolazione")+
  ggtitle("Percentuale media di decrescita della popolazione in Italia", subtitle = "dal 2020 al 2025")