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.
Please note: Bookings will close 4 working days before the course start date or when the course has reached its maximum capacity.
This course has the Society's Quality Mark which means successful completion of the course can be used as part of your application for professional membership including Data Analyst.
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.”
Fees
|
|
Registration before
16 November 2025
|
Registration on/after
16 November 2025
|
|
Non Member
RSS Fellow
RSS CStat/Gradstat/Data Analyst
also MIS & FIS
|
|
£694.00+vat
£590.00+vat
£556.00+vat
|
£772.00+vat
£655.00+vat
£616.00+vat
|
Group discounts are also available*:
3-5 people
6-8 people
9+ people
*Discount only applies to non-member price
|
|
10% discount
15% discount
20% discount
|
|
Book now