FAIR-ifying R Software

The FAIR principles are not exactly framed around software source code, so we will be interpreting some aspects into them.

Our real goal isn’t to teach you R, but a few good practices for any kind of programming: using functions, as well as documenting, packaging and testing them.

We are basing this lesson on swcarpentry/r-novice-inflammation which is about a fictional daily inflammation study in patients using data in the comma-separated values (CSV) format.

We want to:


Learners need to understand the concepts of files and directories (including the working directory). We recommend RStudio to teach and follow this lesson, because some GUI elements will be used.


Setup Download files required for the lesson
00:00 1. Introduction to RStudio How do I use the RStudio graphical user interface?
00:15 2. Preparations How do I read data into R?
How do I assign variables?
What is a data frame?
How do I calculate simple statistics like mean and median?
Where can I get help?
How can I plot my data?
01:15 3. Creating Functions How do I make a function?
How can I test my functions manually?
How should I document my code?
02:45 4. Making Packages In R How do I collect my code together so I can reuse it and share it?
How do I make my own package(s)?
How do I integrate my function documentation into R’s help pages system?
What helper tools does RStudio provide me with?
04:15 5. Unit-Testing And Test-driven Development What is the benefit of unit-testing my code?
How do I create and run unit tests?
Why would I change my code after I got it to run?
05:15 6. Tidying & Packaging Datasets What are possible forms that a dataset can have?
What advantages and disadvantages do these forms have?
Which features make a dataset more or less reusable?
How can we add datasets to R packages?
06:15 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.