Advanced Programming in R

Date:

16/12/2025 - 19/12/2025

Organised by:

Royal Statistical Society

Presenter:

Jumping Rivers Tutor

Level:

Advanced (specialised prior knowledge)

Contact:

training@rss.org.uk

Map:

View in Google Maps  (EC1Y 8LX)

Venue:

Online

Description:

Level: Professional (P)

This online training course will cover R object-oriented programming techniques. It will discuss what OOP is and the different varieties within R. Beginning with the popular S3 and S4 OOP frameworks, we’ll finish with the new {R6} package that is used extensively in Shiny applications. The course will then introduce the {rlang} package as a way of parsing variables from a data set into a function. Furthermore, it cover environments and function-evaluation in R, to help you understand how the tools in {rlang} work under the hood. This course will be delivered over 4 sessions.
 

Course Outline

 This course will cover the following topics:

  • Advanced Functions: Scoping rules (including lexical scope), The … argument, Argument matching
  • S3 classes: Introduction to object-oriented programming, Constructing S3 objects, Drawbacks
  • S4 classes: Creating and using S4 classes, Differences between S3 and S4 classes
  • R6 classes: Differences between {R6} and S3/S4, Mutable states, Creating methods, Shallow and deep copies
  • Modifying user argument in functions calls
  • Quoting code with quosures
  • Using quasi quotation

 

Learning outcomes

By the end of this course, delegates will be able to :

  • Select the most appropriate form of OOP for their task
  • Leverage encapsulation, polymorphism and inheritance to provide a nice user interface to their code
  • Write functions with rich results, user-friendly display and programmer-friendly internals
  • Extend the functionality of functions for new object types
  • Write code that is extensible by others
  • Use the {rlang} operators {{}}, !!, !!! and := to pass variables
  • Modify user functions using enquo()
  • Parse and deparse expressions

 

Target Audience

This course assumes that participants are comfortable with the fundamentals of R programming. As such the course will be of interest to anyone who uses R, in particular those who want to develop their computer skills to cover more advanced topics.
 

Delegate Feedback

 ““Extremely good teacher, great explanations, funny examples and very flexible in terms of content and time. I got to know a lot of things, that I did not think were possible.”
 
“Material well presented and delivered”
 
”I am not scared of R anymore. It was actually fun!”

“Really great course! Useful content that will greatly benefit me in my future R projects.”

Cost:

Prices from £668.40 to £926.40 (inc. VAT)

Website and registration:

Register for this course

Region:

Greater London

Keywords:

Quantitative Data Handling and Data Analysis, R, Programming, S3 and S4 OOP framework, S3 classes, S4 classes, R6 classes, quasi quotation


Related publications and presentations from our eprints archive:

Quantitative Data Handling and Data Analysis
R

Back to the training database