Programming in R
R is a standard language for tackling statistical problems that is used in business and science. Students learn the basics of the programming language through various examples and case studies so that they can competently use R for different problem situations by the end of the course.
LE1: Basics of R and RStudio
Students learn fundamental skills of R and RStudio, such as data types, functions, packages, and RStudio projects. They understand the basic mechanisms of the language in order to apply them in practical examples. Furthermore, they are familiar with loops, if-else statements, and basic arithmetic operations in R and know the basics of data preparation with the tidyverse package.
LE2: Functions
Students are familiar with the "don't repeat yourself" principle and can apply it by writing their own functions. They learn to make these functions robust by using input validation, try statements, and unit tests. Finally, they can make the functions user-friendly through messages/warnings/errors and output definitions (print methods). They know how to obtain benchmarks of runtimes.
LE3: Code style, documentation, and reproducibility
Students apply coding principles, create clean and documented code in R-scripts and Quarto-based reports. Through a combination of code and comments, analyses and results are made understandable to viewers. They are familiar with different report formats that can be created with Quarto/RMarkdown. Students understand the need for reproducible results. They can ensure the same outputs based on the same data inputs, creating a clean foundation for fact-based decisions. They are familiar with the basics of renv and the advantages of its use in projects.
LE4: Data analysis
Students can calculate simple descriptive statistics, are familiar with the formula syntax, and its use in functions to perform statistical tests.
LE5: Specialisation
Students are familiar with advanced skills in R and gain a deeper understanding in one of the following or related applications:
- Statistics/simulations with R
- Shiny/shinydashboard/flexdashboard
- Parameterization and automation of reports with Quarto
- C++ integration with Rcpp
- Python integration with reticulate
- Interactive displays (plotly, leaflet)
- Web scraping
- Regex/natural language processing