Il successo della Lega, i media e le “crisi” migratorie

La crescita di Salvini e della Lega è forse per la politica italiana l’evento più significativo del 2018. Nel gennaio 2018, prima delle elezioni di marzo, la Lega di Salvini era intorno al 12-13%. Alla fine del 2018 la Lega era stimata sopra al 30%. Un guadagno di quasi 20 punti percentuali in 12 mesi.

Fig 1. La crescita della Lega (media mobile dei sondaggi, 30 giorni)


Sunday, 8 December 2019

Il voto per le europee a Milano

La geografia socio-politica delle grandi città italiane del centro-nord è radicalmente cambiata negli ultimi 25 anni. Se osserviamo la distribuzione dei voti a Milano tra i partiti alle elezioni europee del 1994, tenutesi pochi mesi dopo la straordinaria vittoria elettorale di Silvio Berlusconi nel Marzo dello stesso anno in cui Forza Italia ottenne il 21% e il Polo delle Libertà più quasi il 43%), vediamo un chiaro spostameno da destra verso il centro-sinistra e il PD.

Voti assegnati ai partiti nelle elezioni europee del 1994 e 2019.


Wednesday, 12 June 2019

How to sync your Zotero library (and files) with WebDAV

In this post, I explain how to use an online file storing and sharing service like AARNet’s CloudStor (but any WebDAV service will do) to access and update your Zotero library from different computers.


Sunday, 10 March 2019

recogeo: A new R package to reconcile changing geographic boundaries (and corresponding variables)

Demographics information is usually reported in relation to precise boundaries: administrative, electoral, statistical, etc. Comparing demographics information reported at different point in time is often problematic because boundaries keep changing. The recogeo package faciliates reconciling boundaries and their data by a spatial analysis of the boundaries of two different periods. In this post, I explain how to install the package, reconcile two spatial objects and check the results.


Friday, 1 February 2019

Are you parallelizing your raster operations? You should!

If you plan to do anything with the raster package you should definitely consider parallelize all your processes, especially if you are working with very large image files. I couldn’t find any blog post describing how to parallelize with the raster package (it is well documented in the package documentation, though). So here my notes.

Thursday, 17 January 2019

How to (quickly) enrich a map with natural and anthropic details

In this post I show how to enrich a ggplot map with data obtained from the Open Street Map (OSM) API. After adding elevation details to the map, I add water bodies and elements identifying human activity. To highlight the areas more densely inhabitated, I propose to use a density-based clustering algorithm of OSM features.


Thursday, 9 August 2018

The two alternatives to the monasterisation of the World wide web

Saint Michael’s Abbey, in the Susa Valley, Piedmont. Source: Wikipedia.

In Medieval Europe, information was physically concentrated in very few secluded libraries and archives. Powerful institutions managed them and regulated who could access what. The library of the fictional abbey that is described in Umberto Eco’s The Name of the Rose is located in a fortified tower and only the librarian knows how to navigate its mysteries. Monasteries played an essential role in preserving written information and creating new intelligence from that knowledge. But being written information a scarce resource, with the keys to libraries came also authority and power. Similarly, Internet companies are amassing information within their fortified walls. In so doing, they provide services that we now see as essential but they also contravene the two core principles of the Internet: openness and decentralisation.


Monday, 7 May 2018

Local participation and not unemployment explains the M5S result in the South

The abundance of economic data and the scarcity of social data with a comparable level of granularity is a problem for the quantitative analysis of social phenomena. I argue that this fundamental problem has misguided the analysis of the electoral results of the Five Star Movement (M5S) and its interpretation. In this article, I provide statistical evidence suggesting that — in the South — unemployment is not associated with the exceptional increase in the M5S support and that local participation is a stronger predictor of support than most of the demographics.

What happened

The 2018 Italian general elections (elections, since both the Chamber of Deputies and the Senate, were renewed) saw

  1. a significant increase in the number of votes for two parties, the Five Start Movement (M5S) and the League (formerly Northern League),


  1. an increase in the importance geography as an explanatory dimension for the distribution of votes.

The following two maps show where the M5S and the League have increased electoral support from 2013 to 2018. (Electoral data are always data for the election of the Chamber of Deputies).

Vote difference: 2018-2013 (a few communes have not reported all the results, notably Rome)


The geographic pattern is quite simple. The M5S has increased its support in the South and maintained its votes in the North, the League has significantly strengthened its support in the North but has also collected votes in the South, where it had virtually no support. The third and the fourth most voted parties, the Democratic Party (PD) and Berlusconi’s Forza Italia (FI), have lost votes almost everywhere. If we map the results of the four parties side-by-side with the same scale, the PD and FI almost faded into the background.

Votes in the 2018 General elections

Yet, major metropolitan areas do not always follow the national trend. If Naples unambiguously voted M5S, Turin, Milan and Rome did saw the Democratic Party as the most voted party in the wealthiest districts.

Votes in the 2018 General elections (Clock-wise from top-left: Turin, Milan, Naples, Rome)

The density of the distribution of results at the commune and sub-commune level in the macro regions indicates that if the M5S electorally dominates in the South and in the two major islands, the League is the most popular party in the North.

Distribution of votes at commune or sub-commune level

The territoriality of the results, especially along the North-South dimension, makes the analysis especially complicated. This because the strong result of the League in the North and of the M5S in the South might simplistically suggest that immigration (which is much stronger in the North) explains the League’s result in the North and unemployment and poverty (stronger in the South) explain the M5S’s result in the South. This reading is especially attractive since immigration and the M5S proposal to introduce a guaranteed minim income have dominated the campaign.


Tuesday, 20 March 2018

2018 Italian general election: Details on my simulation

This article describes the simulation behind the app that you find here

This simulation of the results for the 2018 general election is based on the results from the last two national elections (the Italian parliament election in 2013 and the European Parliament election 2014) and national polls conducted until 16 February 2018. The simulation is based on one assumption, which is reasonable but not necessarily realistic: the relative territorial strength of parties is stable. From this assumption derives that if the national support for a party (as measured by national voting intention polls) varies, it varies consistently and proportionally everywhere. A rising tide lifts all boats and vice versa. The assumption has some empirical justification. If we compare the difference from the national support (in percentage) for each district in 2013 and 2014 we see a significant correlation, especially in the major parties.

Votes to party in the 2018 Chamber districts


Tuesday, 27 February 2018

Quick analysis of the Italian referendum results

The 2016 Italian referendum torpedoed the constitutional reform presented by the government presided by Matteo Renzi (41). According to the final count, which includes 1.2 million votes cast overseas, the reform was rejected by almost 60% of the voters.

Three parties played a predominant role during the electoral campaign: the ruling Democraric Party (PD), leaded by the chief of government Renzi, the Five Star Movement (M5S), founded and leaded by Beppe Grillo (68), and the Lega Nord (LN), leaded by Matteo Salvini (43). The fourth Italian party, Forza Italia, for different reasons – including the health of Silvio Berlusconi (80) – played a minor role.


Monday, 5 December 2016


Twitter: frbailo




  • Image contours in R
    I recently came across this short fun post on R-bloggers that demonstrated how to use the image.ContourDetector package (available on CRAN) to extract contours from an image. The image of the contours looked really cool so I thought I would … Continue reading →
  • RcppCCTZ 0.2.8: Minor API Extension
    A new minor release 0.2.8 of RcppCCTZ is now on CRAN. RcppCCTZ uses Rcpp to bring CCTZ to R. CCTZ is a C++ library for translating between absolute and civil times using the rules of a time zone. In fact, it is two libraries. One for dealing with civ...
  • Do, Share, Teach, and Learn Data Science with RStudio Cloud
    RStudio is proud to announce the general availability of RStudio Cloud, its cloud-based platform for doing, teaching, and learning data science using only a browser. This general release incorporates feedback from thousands of users, based on more than 3.5 million hours of compute time. What is RStudio Cloud? RStudio Cloud is ...
  • Cheesecake Diagrams: Pie Charts with a Different Flavour
    Part of my job at a regional water utility involves visualising operational data. We manage water and sewerage services for a large number of small and medium-sized towns in regional Victoria (Australia). Traditionally, performance reports consist of extensive tables filled with numbers with a line for each city. To make ...
  • Books and code
    This comes as the results of two external forces that have prompted me to do some work on the website — specifically the section on books. The first one is the newest version of hugo-academic (which is the engine underlying the whole of my website, together with the R package blogdown). ...

RSS Simply Statistics

  • Asymptotics of Reproducibility
    Every once in a while, I see a tweet or post that asks whether one should use tool X or software Y in order to “make their data analysis reproducible”. I think this is a reasonable question because, in part, there are so many good tools out there! This is undeniably a good thing and […]
  • Amplifying people I trust on COVID-19
    Like a lot of people, I’ve been glued to various media channels trying to learn about the latest with what is going on with COVID-19. I have also been frustrated - like a lot of people - with misinformation and the deluge of preprints and peer reviewed material. Some of this information is critically important […]
  • Is Artificial Intelligence Revolutionizing Environmental Health?
    NOTE: This post was written by Kevin Elliott, Michigan State University; Nicole Kleinstreuer, National Institutes of Health; Patrick McMullen, ScitoVation; Gary Miller, Columbia University; Bhramar Mukherjee, University of Michigan; Roger D. Peng, Johns Hopkins University; Melissa Perry, The George Washington University; Reza Rasoulpour, Corteva Agriscience, and Elizabeth Boyle, National Academies of Sciences, Engineering, and Medicine. […]

RSS Statistical Modeling, Causal Inference, and Social Science

  • Somethings do not seem to spread easily – the role of simulation in statistical practice and perhaps theory.
    Unlike Covid19, somethings don’t seem to spread easily and the role of simulation in statistical practice (and perhaps theory) may well be one of those. In a recent comment, Andrew provided a link to an interview about the new book Regression and Other Stories by Aki Vehtari, Andrew Gelman, and Jennifer Hill. An interview that covered […]
  • Kafka comes to the visa office
    Paul Alper points us to this news article by Catherine Rampell about “a Kafkaesque new processing policy for select categories of visas”: If any fields on a form are left blank, it will automatically be rejected. Even if it makes no sense for the applicant to fill out that field. For example, if “Apt. Number” […]
  • Jobzzzzzz!
    It’s a busy day for Bayesians. John Haman writes: The Institute for Defense Analyses – Operational Evaluation Division (OED) is looking for a Bayesian statistician to join its Test Science team.  Test Science is a group of statisticians, data scientists, and psychologists that provides expertise on experimentation to the DoD. In particular, we are looking […]