GESIS Training Courses

Scientific Coordination

Verena Kunz

Administrative Coordination

Claudia O'Donovan-Bellante
Tel: +49 621 1246-221

Advanced R Programming

Online via Zoom
General Topics:
Course Level:
Software used:
Students: 385 €
Academics: 578 €
Commercial: 1155 €
Additional links
Lecturer(s): Tom Paskhalis

About the lecturer - Tom Paskhalis

Course description

Note that this is a blended learning course consisting of a self-learning phase (estimated workload: 3 hours) from 27.05.-02.06.2024 and live sessions from 05.-07.06.2024. For more detailed information, see section “Organizational structure of the course”.
R is the major language for statistical programming and data analysis. In its more than 30 year history it went from an open-source implementation of its commercial predecessor S to being the staple of any data analyst's toolbox. The versatility of R lies in its immense extendibility, something we will discuss in this workshop.
This workshop is aimed at participants who already have some experience with R, but would like to further hone their skills in this language. We will cover advanced topics in R, such as control flow, functional programming, debugging, testing, and parallelization. The workshop's ultimate goal is to provide the participants with a solid foundation of R programming, which will allow them to tackle more complex problems and design efficient work flows for data analysis.
Organizational structure of the course
This workshop is organized as a blended learning course. In order to ensure that the participants have the necessary background knowledge, the course will start with a self-learning phase that contains a recap of the key concepts of R programming in the form of short pre-recorded videos and exercises. The estimated workload for the self-learning phase is 3 hours and participants will be expected to work through these materials before the start of the workshop (by 2 June 2024 at the latest). If participants have any questions during the self-learning phase, they can post them in the course forum. Queries will be addressed within two working days at the latest.
The rest of the workshop will be organized as live teaching via Zoom and be composed of lectures interspersed with hands-on programming exercises. While lectures are designed to give an overview of the topic, key concepts, and their implementations in R, the exercises are supposed to give the participants the opportunity to apply these ideas in practice.

Target group

Participants will find the course useful if:
  • they have been working with R for a while and are looking to take their R skills to the next level to facilitate more      complex programming tasks.
  • they wish to write more efficient R code.
  • they want to learn (more) about the power of functional programming.
  • they want to learn more about debugging and testing.

  • Learning objectives

    By the end of the course participants will:
  • be able to describe core programming concepts, language structures, and design principles.
  • demonstrate deep familiarity with the R programming languages.
  • have the ability to write, execute and debug R scripts.
  • understand the foundations of functional and object-oriented programming in R.
  • be able to design efficient work flows for data analysis.

  • Prerequisites

    This course covers intermediate and advanced programming in R, and basic familiarity with the key R concepts, such as objects and operators, data types and data manipulation, is assumed.
    Participants should therefore have reasonable prior experience with R (e.g. working with R for more than 6 months,
    up to a couple of years) to get the most out of this workshop. Alternatively, extensive knowledge of another statistical software (e.g. Stata/SAS) and some introductory knowledge of R syntax should also suffice. A short overview of some R fundamentals will be provided at the beginning of the workshop. Some participants with prior experience in statistical analysis/programming who recently took an introductory R workshop might consider enrolling into this workshop as a follow-up.
    Software and hardware requirements
    In this course we will use R (4+) and RStudio integrated develoment environment. Alternatively, you can use Visual Studio Code with R Extension installed.
    While it is possible to follow most of the course materials using cloud platforms for hosting Jupyter Notebooks such as Kaggle Code, the experience for certain topics, such as debugging and testing, can be considerably different.


    Recommended readings