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

Professional Skills Course

Syllabus — Spring 2025

Programming for Professional Research Using R

Marc-Andrea Fiorina

Contact:

Schedule


Weekday Date Room Start Time End Time
Thursday March 27, 2025 555 Penn, 656 6:00pm 8:00pm
Thursday April 3, 2025 555 Penn, 656 6:00pm 8:00pm
Thursday April 10, 2025 555 Penn, 656 6:00pm 8:00pm
Thursday April 17, 2025 555 Penn, 656 6:00pm 8:00pm

Course Description

Entry-level research and analysis positions in universities, government offices and contractors, 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. R is an open-source, statistical programming language used widely across a number of industries. 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:


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 map and across in R

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 — Iterative Coding


Further Resources






Instructor Biography

My name is Marc-Andrea Fiorina, and I am a research analyst 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.

As a research assistant, I learnt how to work with data in a collaborative space and how to improve my coding language learning through continuous use and good practices. I hope to share those practices and resources with you through this course.