Good Software Engineering Practice for R Packages

MCP 2025 Short Course
Author
Affiliation

Daniel Sabanés Bové

RCONIS

Keywords

rconis, gswep, r, gxp

Welcome to the homepage of the tutorial “Good Software Engineering Practice for R Packages”, part of the MCP 2025 Conference in Philadelphia, USA. In this course you will learn hands-on skills and tools to engineer reliable R packages. The workshop will be conducted in about 3 hours and will be a mix of presentations and exercises. Participants need to be comfortable with writing functions in R and use their own laptops as a prerequisite.

Event Details

This live event will be held on Tuesday August 12 2025 1:30 pm - 5:10 pm EST as an in-person course at the Center City Campus, Temple University, Philadelphia.

Description

This course aims to equip participants with the essential software engineering practices required to develop and maintain robust R packages. With the growing demand for reproducible research and the increasing complexity of statistical methods developed e.g. for MCP methodology, writing high-quality R packages has become a critical skill for statisticians to prototype, develop, and disseminate novel methods (incl. for MCP) and push their adoption in practice. The course will focus on the key principles of software engineering, such as workflows, modular design, version control, testing, documentation, and quality indicators. Focusing on these aspects ensures the reliability and sustainability of R packages. Examples will be given from R packages implementing MCP, such as rpact.

Learning Outcomes

Participants will learn how to structure their R packages following best practices and making use of tools that streamline the development process. A significant emphasis will be placed on writing and running unit tests, ensuring that packages are error-free and behave as expected across different environments and over time.

By the end of the course, participants will have a solid understanding of good software engineering principles tailored to R package development, enabling them to build packages that are not only functional but also reliable, reusable, and easy to maintain.

Schedule

Time Topic
1:30 - 2:00 Introduction and outline
2:00 - 2:45 R packages, what are they? + practical
2:45 - 3:30 Workflow for creating R packages + practical
3:30 - 4:15 R Package quality + exercise
4:15 - 5:00 Publication of R packages + practical
5:00 - 5:10 Conclusion

Prerequisites & Technical Setup

Prior to the course, participants should:

For the course, participants are required to use their own laptop to be able to participate in the exercises.

Optional reading list

Past Events