Advanced R programming (239051-0484)

Basic information

The lab's primary goal is to give you a more refined look at the R programming language. In particular, we will look at environments, functions, object-oriented programming techniques (all models supported in R), non-standard evaluations, and computations on the language. The lab is more complex than the "Basic R programming" lab. I assume a good working knowledge of R at the basic level.


The basic book we use is "Advanced R" by Hadley Wickham. The book is available, free of charge, here: I may use particular tutorials and stack exchange discussions to illustrate specific points of the lab. They are all available on the web.

Scoring rules

There will be no final exam or any exam during the lab. You will get a mark based on the final projects described below. There will be three final projects. I will review each project and either accept it or reject it. Thus, you can get a maximum of three points in total. For three points, you get A, for two points, you get B, and you get C for one point.

Software / Editors

Under the MS Windows or MacOS systems, R comes as an application that you can install. The application contains a simplistic editor that you can use. However, for more serious work, I would recommend either RStudio ( or VS Code ( with appropriate add-ons. If you are slightly crazy, Emacs ( with ESS ( is a great choice. In fact, I will use Emacs during the lab.

Final projects

There are three final projects. From a technical point of view, you have a lot of freedom in solving these projects. You can use any object-oriented model, different approaches to a problem, and so on. However, there are some technical restrictions concerning solutions. In particular, I will not accept any solutions requiring the installation of additional languages or making use of additional languages, including but not limited to Java, Perl, Bash/Zsh, C#, and so on. Other specific restrictions are given in the final projects' descriptions.

Each project is solved within a single R file from a technical perspective, named with your name, e.g., ramsza_1.R, ramsza_2.R and so on. According to the project's description, the file needs to contain an implementation of the solution and examples of usage. Also, an R file is just a text file. Please, use UTF-8 encoding. It will save you many times in the future.

Final projects: academic year 2020/21, summer

Each project's solution should be sent to my email address at the domain. The deadline is the first day of the exam session.


Lab notes: HTML

Author: Michał Ramsza

Created: 2021-05-04 Tue 20:36