Wolfgang Viechtbauer

Marginally significant (p = .07)

User Tools

Site Tools


Introduction to R Course

General Information

Course Dates to be announced
Course Times to be announced
Course Location Maastricht, The Netherlands (details below)
Registration Deadline to be announced
Course Fee see below

Note: This course is no longer taught in its current form. For those affiliated with Maastricht University, please go to https://www.maastrichtuniversity.nl/education/course/introduction-r for further information about the new version of this course. I have also provided an Open Online Introduction to R Course on several occasions in the past and may continue to do so in the future.

Course Description

R is a programming language and software environment for carrying out computations, manipulating and analyzing data, and creating various types of plots and graphics (see the R project website for more info). R has become the 'lingua franca of statistics' and the software of choice for analyzing data in various disciplines. However, for many researchers, getting up and running with R remains a hurdle due to the command-driven nature of the software. The purpose of this course is to lay the necessary foundation for becoming a proficient R user.

We will start with a bit of background history on the development of R and then get familiar with the use of R through RStudio, an integrated development environment that is specifically tailored for R. Next, we cover basic data structures (e.g., scalars, vectors, matrices, data frames) and functions for computations and data manipulation (e.g., subsetting, replacing values, computing new variables, renaming variables, recoding variables). Next, we examine how to import and export data files and then delve into commands for inspecting data and obtaining summary statistics (e.g., means, SDs, percentiles, frequency tables). One of the strengths of R include its powerful graphing and plotting capabilities, which we cover next (e.g., barplots, histograms, boxplots, kernel density estimation, scatterplots, binning / jittering / alpha blending, contour / perspective plots). A variety of statistical methods for analyzing continuous and categorical outcomes (e.g., t-tests, ANOVAs, correlation analyses, linear regression, ANCOVAs, smoothers, chi-square tests, Fisher’s exact test, logistic regression, ROC curves) will then be discussed and their implementation in R demonstrated (emphasis here is more on the general model syntax as used in R and less on the statistical details of the various procedures).

At first, the large number of functions and add-on packages available for R can be overwhelming for the new user. We therefore discuss not only commands for downloading, installing, and updating additional packages, but also strategies to search for and evaluate packages. How and where to obtain help when getting stuck will also be covered in this context.

Finally, we discuss general programming structures (e.g., loops, if-else statements) and the generation of random data. In this context, we provide a gentle introduction to Monte Carlo simulations as a way of investigating the properties of statistical procedures. How to extend the capabilities of R with self-written functions will be described next. We then conclude the course with an introduction to Rmarkdown (as a general approach for writing dynamic reports and papers that are fully reproducible by including the analysis code within the document) and a selection of advanced and miscellaneous topics and pointers for becoming a self-sufficient R user.

The course is aimed at researchers, (Master and PhD level) students, data analysts/scientist, and essentially anybody interested in learning how to work with R.

While R can be used much more widely than 'just' as a statistical software and data analysis tool, statistical computing and graphing remain its primary function and we also mainly describe the use of R in this context. Therefore, some familiarity with basic statistical concepts and methods as used in the health, social, and natural sciences is helpful when following the course.

The course is introductory in the sense that no prior background or experience with R is assumed. So we really start from scratch, but cover quite a bit of ground and even get into some more advanced topics within those three days (by going through the contents at an appropriately swift but non-hurried pace).

It will generally be a bit easier to learn R if you have any kind of programming experience or have used other statistical software packages in a command-driven manner (instead of using a "point-and-click" approach). However, this is not a prerequisite and as long as you are as excited to learn R as we are teaching it, we'll do our best to accommodate any kind of background or experience level.

Also, the course consists of a mixture of lectures and hands-on exercises, so there are ample opportunities for practicing the concepts taught.

Course Instructors

The course is taught by Wolfgang Viechtbauer (Department of Psychiatry and Neuropsychology) and Jan Serroyen (Department of Methodology and Statistics), both at Maastricht University. We each have over a decade of experience working with R and use R daily as part of our work as statisticians. While we have repeatedly professed the advantages of R to colleagues and other researchers, we have noticed a general hesitancy to pick up a new (statistical) programming language, especially among those mostly used to point-and-click interfaces. Because we have found R to be such a powerful and flexible tool, we decided to pass on our experience to others who are interested in becoming R users and would like some help in getting started.

Course Schedule

Note: Despite the level of detail, this schedule is tentative. The starting and ending times of the course are definite, but everything in between is subject to change. Also, breaks are not explicitly indicated in the schedule below, but are planned in throughout the days.

Day 1
09:30 - 10:00 Introduction and Logistics
10:00 - 10:15 Lecture 1: R and its History
10:15 - 11:45 Lecture 2: Data Structures, Functions, Basic Arithmetic, Data Manipulation
11:45 - 12:15 Lecture 3: Interacting with and using R
12:15 - 13:15 Lunch
13:15 - 14:45 Exercise 1
14:45 - 15:30 Lecture 4: Data Import and Export
15:30 - 16:30 Exercise 2
16:30 - 17:00 Lecture 5: Data Inspection and Summary Statistics
17:00 - 18:00 Exercise 3
Day 2
09:00 - 10:00 Lecture 6: Graphs, Plots, and Tabulations
10:00 - 11:00 Exercise 4
11:00 - 12:00 Lecture 7: Statistical Methods: Continuous Data (Part 1)
12:00 - 13:00 Lunch
13:00 - 14:00 Lecture 7: Statistical Methods: Continuous Data (Part 2)
14:00 - 15:00 Exercise 5
15:00 - 16:30 Lecture 8: Statistical Methods: Categorical and Time-to-Event Data
16:30 - 17:30 Exercise 6
Day 3
09:00 - 10:00 Lecture 9: Finding, Installing, and Loading Additional Packages
10:00 - 11:00 Exercise 7
11:00 - 11:30 Lecture 10: Programming Structures and Flow Control
11:30 - 12:30 Exercise 8
12:30 - 13:30 Lunch
13:30 - 14:30 Lecture 11: Generic, Method, and User-Written Functions
14:30 - 16:00 Lecture 12: Advanced and Miscellaneous Topics
16:00 - 17:00 Q&A

What to Bring to the Course

Please bring a laptop to the course. Moreover, you should have the current version of R installed on the laptop. You can download R from the Comprehensive R Archive Network (CRAN) (if you use Windows, choose "Download R for Windows", then "base", and then download and run the setup program; versions for macOS and Linux are also available).

It may also be useful to install an integrated development environment (IDE) for R. A popular choice these days is RStudio, which is available for Windows, macOS, and Linux.

You can also pair up with another course participant for the computer exercises, so technically not everybody needs to bring a laptop. However, if at all possible, please bring your own laptop so we don't end up with the unfortunate situation that nobody brings one!

Course Fee

The course fee is 600 Euros and includes lunch on all three days, refreshments (e.g., coffee, tea, water) during the breaks, but not dinner or accommodations.

Course Registration

At this time, it is not possible to register for the course.

Course Location

The course will be held at Hotel van der Valk, Maastricht, the Netherlands.

Hotel Location

Nijverheidsweg 35
6227 AL Maastricht
The Netherlands
Google Maps Link

Arriving by Car

If you arrive by car, just use the Google Maps Link to obtain directions depending on your starting point. There is free parking at the hotel.

Arriving by Train/Bus

If you arrive by train, you have a couple options. If you leave the train at the main station in Maastricht, then you can take bus number 350 in the direction Aachen (the bus leaves every 15 minutes the last time I checked; you can also check here for departure times). Take the bus to the Akersteenweg stop (this takes about 10 minutes). From there, it's about a 5 minute walk to the hotel (walk back a bit on the Akersteenweg in the direction from where the bus came, then turn left into the 1 Juliweg, then right into the Nijverheidsweg).

Alternatively, if you leave the train at Randwyck train station, it takes about 10 minutes by foot to get to the hotel (just cross the bridge, follow the Joseph Bechlaan, then turn left into the Demertstraat).

Hotel Accommodations

If you need hotel accommodations, the most convenient place to stay will be at Hotel van der Valk, which is also the course location. In general, a useful website for hotel accommodations in and around Maastricht can be found here.

Miscellaneous Information

Instructional Language English
Min/Max Number of Participants 10/30
Certificate for Participation Yes
Number of European Credit Points 1
course_r.txt · Last modified: 2023/04/25 07:20 by Wolfgang Viechtbauer