For a PDF version of this document, please click here.

Syllabus — Fall 2025

MIEF Skills Workshop: R

Marc-Andrea Fiorina

Contact:

Schedule


Weekday Date Room Start Time End Time
Wednesday September 10, 2025 555 Penn, B230 6:00pm 8:00pm
Wednesday September 17, 2025 555 Penn, B230 6:00pm 8:00pm
Wednesday September 24, 2025 555 Penn, B230 6:00pm 8:00pm
Wednesday October 1, 2025 555 Penn, B230 6:00pm 8:00pm

Course Description

Entry-level research positions in universities, government offices, think tanks, and multilateral institutions are increasingly expected to perform basic quantitative tasks using statistical software such as Stata, R, or Python. As data work has become near-ubiquitous in the policy world, so have basic tasks like aggregating, analyzing, summarizing, and visualizing data.

This course introduces you to statistical analysis programming using the R language. This course will also aim to provide you with the foundation to continue to develop your knowledge and experience of R beyond its duration.


Course Objectives

By the end of this course, students will be able to set up their own R environment and feel comfortable using R for simple data tasks in coursework, internships, or entry-level research/data positions. They will have the foundation to continue to learn by practicing R beyond this course.

In more detail, students will be introduced to the use of:

By the end of this course, students will be familiar with the instruments they are expected to use in entry-level professional research positions. They will also have resources to further their education in R past the course.

In more detail, students will be introduced to the use of:

Students will also be taught how to clean raw data by:


Course Outline


Session Description
I — Setting Up Your R Environment - Introduction to Coding — Learn how to think as a coder, how to identify the basic components of data analysis
- Introduction to the RStudio Interface — Learn how to set up your environment to use R and RStudio
- Troubleshooting R — How to identify and address basic errors in your R setup
II — Visualization - Creating Plots and Graphs — Learn how to create scatter and bar plots using ggplot2
- Creating HTML and PDF Tables — Learn how to create shareable tables using gt
III — Transformation - The Building Blocks of R — Explore scalars, vectors, lists, and tibbles in R
- The Basic Verbs of R — Learn how to use mutate(), select(), filter(), group_by(), and summarize()
- Tidy Data — Introduction to tidy datasets, pivot_longer(), and pivot_wider()
IV — Programming and Communication - Programming in R — Learn about functions and iteration using purrr in R
- Using R Markdown — Introduction to communicating process and results using R Markdown

Note — The course slides, syllabus, and other resources will be shared at the following link: https://mfiorina.github.io/sais_r_course/.


Course Structure

Each two-hour session will be split into two halves. The first half (approx. one hour) will consist of an interactive lecture using slides and live coding. The second half (approx. one hour) will consist of practical exercises that the students will accomplish with my support.

The last two sessions will begin with multiple-choice questionnaires on the topic of the previous week’s content. At the end of the course, there will be an open-ended assignment in which the students will have the option to create a script, which I will then review and provide feedback.


Course Readings/Resources

As there will be no time for this in class, YOU NEED TO DO THE FOLLOWING BEFORE THE FIRST SESSION:


Note — Readings and resources below are optional and are provided for context and use after the course is finished. The session slides will cover everything needed for the course.


Overall Readings and Resources


Session 1 — Introduction to R


Session 2 — Visualization

Plots Tables


Session 3 — Transformation


Session 4 — Programming and Communication


Further Resources






Instructor Biography

My name is Marc-Andrea Fiorina, and I am a public policy research analyst, most recently at OpenResearch. Over the past six years, I worked as an intern, research assistant, and analyst using R for impact evaluations and economic research programs with Development Impact (DIME) at the World Bank. I hold a Bachelor of Arts (Hons.) in Philosophy, Politics, and Economics from the University of Oxford (2017) and a Master of Arts in International Politics and Economics (Bologna 2018, DC 2019) from Johns Hopkins University SAIS.