Barcelona Summer School of Demography



The Barcelona Summer School of Demography (BSSD), based at the Centre for Demographic Studies (CED), Universitat Autònoma de Barcelona, offers a four-week course in R. The course is divided into four modules - one per week - covering three major strengths of R: statistical and demographic analysis, data visualization, and spatial analysis. Each module consists of 20 hours of teaching, combining theoretical lectures and practical exercises.

Participants are welcome to apply for the entire course or any of the individual modules.

Modules 1 offer an introduction to R for which no previous knowledge is required. For the other modules, basic knowledge in R is required. Module 2 focuses on data visualitation and the 'tidyverse' approach in R programming. Module 3 shows how to implement common demographic methods in R. Module 4 is devoted to spatial analysis and web-based mapping. For detailed contents on each module, please visit Schedule and Organization.

Participation will be limited to 15 students per module. Participants will be selected on a competitive basis based on motivation and research interests. Priority will be given to early-career researchers (Master and PhD students), but applicants from more advanced stages are also welcome. Participants are expected to bring and use their own laptops with R and RStudio installed as well as to pay their own transportation and living costs while staying in Barcelona. Lectures will be taught in English. Deadline for application: 31 March 2019. Applicants will be informed about the results of selection process by mid April 2019.

For further information, please contact


The BSSD will be held at the Center for Demographics Studies (CED), located on the Campus of the Autonomous University of Barcelona, Bellaterra, Spain. Lectures will be taught from 10 a.m. to 2 p.m. (theoretical lectures, combined with practical exercises).

MODULE 1: Introduction to R (July 1-5)

Instructor: Tim Riffe

Session 1 (Monday)
1) Introduction to R and RStudio
2) Using the editor: main characteristics of RStudio, packages
3) Data handling: import/export data to/from R
4) Basic operations: assigning
5) Using functions

Session 2 (Tuesday)
1) Common data types
2) Data structures overview
3) Vectors and matrices
4) Data frames
5) Reshaping, sorting and grouping

Session 3 (Wednesday)
1) Descriptive statistics in R
2) Contingency tables
3) Introduction to R plotting

Session 4 (Thursday)
1) Conditional execution: the ‘if’ command
2) Introduction to for-loops
3) Writing your own functions in R

Session 5 (Friday)
1) The apply() family functions
2) Using loops and custom functions in base plotting
3) Saving plots
4) Review of module

MODULE 2: Data visualization with R (July 8-12)

Instructor: Ilya

Session 1 (Monday)
1) Basic dataviz principles
2) Impressive dataviz showcasess
3) Tidy approach to data
4) {ggplot2} basics

Session 2 (Tuesday)
1) More {ggplot2} geoms
2) Statistical evaluations on the fly with {ggplot2}
3) {ggthemes}
4) Population pyramids

Session 3 (Wednesday)
1) Dotplots -- the most neglected and powerful type of dataviz
2) Colors in dataviz
3) Heatmaps
4) {ggtern} and {tricolore}

Session 4 (Thursday)
1) Ggplot extras 
2) Interactive visualization, {plotly}
3) treemap plots
4) 3d plotting with {rgl}

Session 5 (Friday)
1) {sf} -- the game changer in #rspatial
2) `geom_sf`
3) Mapping Europe with {eurostat}
4) Mapping the US with {tidycensus}

MODULE 3: Demography with R (July 15-19)

Instructor: Marie-Pier Bergeron-Boucher

Session 1 (Monday)
1) Basic demographic measures
2) The Lexis diagram
3) Rates, probabilities and proportions

Session 2 (Tuesday)
1) Life table
2) Life expectancy
3) The Human Mortality Database (HMD)

Session 3 (Wednesday)
1) Standardization of demographic measures
2) Rate decomposition (Kitagawa method)
3) Life expectancy decomposition (Arriaga method)

Session 4 (Thursday)
1) Population growth
2) Population models
3) The Leslie matrix

Session 5 (Friday)
1) Introduction to population forecast 
2) The Lee-Carter model
3) Review of the module

MODULE 4: Spatial Analysis with R (July 22-26)

Instructor: Juan Galeano

Session 1 (Monday)
1) Basic data manipulation using dplyr
2) %>% the pipe function
3) Group your data and summarise
4) Tidy your data
5) Plot your data: ggplot2

Session 2 (Tuesday)
1) Read shapefiles into R
2) General manipulation of spatial objects.
3) Univariate Class Intervals
4) Color palettes.
5) Thematic maps (I).

Session 3 (Wednesday)
1) Conversion between projection systems.
2) The ggmap package.
3) Thematic maps (II).

Session 4 (Thursday)
1) Spatial Statistics
2) Neighborhood Matrix.
3) Spatial autocorrelation: Global and Local Indicators of Spatial Autocorrelation (LISA).

Session 5 (Friday)
1) Plot Raster Data.
2) Web-mapping: Leaflet and ggiraph.
3) Animated maps: the gganimate library
4) Review of module.


Ilya Kashnitsky

University of Southern Denmark, Odense, Denmark

Ilya Kashnitsky is a postdoctoral researcher at the Interdisciplinary Centre on Population Dynamics, University of Southern Denmark. He holds BA in Geography from Moscow State University, a master in Demography from National Research University Higher School of Economics and expects to obtain a PhD in Demography from University of Groningen. His research focuses on regional variations in population age structures across Europe, the demographic processes shaping them, their dynamics and possible implications for economies and societies. Ilya is an avid R user and advocate of open science, he runs a blog ( ) that is indexed in R-bloggers project. 

Marie-Pier Bergeron-Boucher

University of Southern Denmark, Odense, Denmark

Marie-Pier Bergeron Boucher is a postdoctoral researcher at the Department of Public Health, University of Southern Denmark. She holds a master in Demography and a PhD in Public Health. Her main research interests include the study of human mortality, longevity and ageing, with a particular interest in developing new demographic methods to help understand and forecast population health and mortality dynamics in industrialized societies.

Tim Riffe

Max Planck Institute for Demographic Research, Rostock, Germany

Tim Riffe is a research scientist at the Max Planck Institute for Demographic Research. His theoretical work focuses on population renewal and temporal relationships over the life course. His empirical work uses original methodological approaches to study relationships between longevity and health in ageing populations, based on both administrative and survey data.

Juan Galeano

NCCR On the Move, Université de Gèneve

Juan Galeano is post-doctoral researcher at the University of Geneve. He holds a PhD in Demography from the Center for Demographic Studies (CED) and the Autonomous University of Barcelona (UAB). Master in Demography from the European Doctoral School of Demography (EDSD), Master in Territorial and Population Studies from CED and UAB, and BA in Sociology from the University of Barcelona (UB). His current research focuses on how life events influences international and internal migration in Switzerland and the construction of longitudinal demographic datasets from crossing administrative registers.


  • Option 1
  • 300€
    per module
  • 1 module
  • Option 2
  • 1000€
    all modules
  • 4 modules