Statistics with R

Overview
This three half-day training course provides an introduction to R for statistics.
This course will give an introduction to R in an interactive manner. It is designed to give you a sound understanding of data types and structures as well as common statistical and graphical tools used for analysing biological data.
Successful completion of the assignments will be awarded with 1 ECTS.
Course outline
Day 1: Data structures and importing data
- Working reproducibly with RStudio projects, Quarto documents, and git — a recap of First Steps with R
- R as a calculator: arithmetic operators, operator precedence, and assignment (<-)
- Data types (integer, double, character, logical, complex) and data structures (vectors, matrices, arrays, lists, and data frames)
- Importing flat files with readr, appreciating tibbles, specifying column types with tidyselect, and reading Excel/foreign formats
- Recognising and treating missing data (NA) appropriately
Day 2: Indexing, transformations, and Quarto
- Relational and logical operators, combining conditions, and any()/all()
- Logical indexing, the %in% operator, and locating elements with which()
- Summary statistics on vectors and data frames (mean, sd, IQR, quantile, summary)
- Creating and working with matrices: indexing, rbind()/cbind(), and modification
- Factors for categorical data: ordered vs unordered levels, and binning continuous variables with cut()
- Authoring with Quarto: Markdown syntax, code chunks and options, inline code, LaTeX equations, and bibliographies
Day 3: Visualisation, models, and functional programming
- Importing and exporting data with base R (read.csv(), write.csv(), read.table() variants)
- Building graphics with ggplot2: the data–aesthetics–geometry layers and common geoms (point, line, boxplot, histogram, density)
- Exporting figures reproducibly with ggsave(), and streamlining code with the native pipe (|>)
- Working with lists, dates/times (lubridate), and list-columns inside tibbles
- Functional programming with purrr: replacing for loops with the map() family and passing functions as arguments
- Fitting and summarising multiple linear models via group_split()/nest() and map(), with a concluding practical assignment
Prerequisites
You should have some prior experience with programming in any language (or have attended the “First steps with R” course) and have a basic knowledge of statistics.
The course will be held on-site in November.
Preliminary schedule
- 17 November 2026 - 12.00 to 17.00
- 18 November 2026 - 9.00 to 17.00
- 19 November 2026 - 9.00 to 13.30
Requirements
- Have a computer ready with a recent version of R (4.5.0 or later) and RStudio (1.2 or later) installed. You will receive instructions and support for setting up your computer in advance of the workshop.
Instructors
Roland Krause
Tyler McInnes
Eléonore Schiltz
Registration
Registration will open is now open.
Address
The workshop will be held at:
University of Luxembourg Belval campus Esch-sur-Alzette
Contact

Tyler McInnes (LCSB, Elixir-Luxembourg)