Skip to main content

Object-Oriented Programming with S3 and R6 in R

Manage the complexity in your code using object-oriented programming with the S3 and R6 systems.

Start Course for Free
4 Hours17 Videos55 Exercises14,438 Learners
4200 XP

Create Your Free Account



By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA. You confirm you are at least 16 years old (13 if you are an authorized Classrooms user).

Loved by learners at thousands of companies

Course Description

Object-oriented programming (OOP) lets you specify relationships between functions and the objects that they can act on, helping you manage complexity in your code. This is an intermediate level course, providing an introduction to OOP, using the S3 and R6 systems. S3 is a great day-to-day R programming tool that simplifies some of the functions that you write. R6 is especially useful for industry-specific analyses, working with web APIs, and building GUIs. The course concludes with an interview with Winston Chang, creator of the R6 package.

  1. 1

    Introduction to Object-Oriented Programming


    Learn what object-oriented programming (OOP) consists of, when to use it, and what OOP systems are available in R. You'll also learn how R identifies different types of variable, using classes, types, and modes.

    Play Chapter Now
    What is Object-Oriented Programming?
    50 xp
    Should I OOP?
    50 xp
    You've Already Been Working With Objects
    100 xp
    The Nine Systems
    50 xp
    Which Systems Should I Use?
    50 xp
    How does R Distinguish Variables?
    50 xp
    What's my type?
    100 xp
    Assigning Classes
    50 xp
    Make it Classy (1)
    100 xp
    Make it Classy (2)
    50 xp
  2. 3

    Using R6

    Learn how to define R6 classes, and to create R6 objects. You'll also learn about the structure of R6 classes, and how to separate the user interface from the implementation details.

    Play Chapter Now
  3. 5

    Advanced R6 Usage

    Complete your mastery of R6 by learning about advanced topics such as copying by reference, shared fields, cloning objects, and finalizing objects. The chapter concludes with an interview with Winston Chang, creator of the R6 package.

    Play Chapter Now

In the following tracks

R ProgrammerR Programming
Richie Cotton Headshot

Richie Cotton

Curriculum Architect at DataCamp

Richie is a Learning Solutions Architect at DataCamp. He has been using R since 2004, in the fields of proteomics, debt collection, and chemical health and safety. He has released almost 30 R packages on CRAN and Bioconductor – most famously the assertive suite of packages – as well as creating and contributing to many others. He also has written two books on R programming, Learning R and Testing R Code.
See More

What do other learners have to say?

I've used other sites—Coursera, Udacity, things like that—but DataCamp's been the one that I've stuck with.

Devon Edwards Joseph
Lloyds Banking Group

DataCamp is the top resource I recommend for learning data science.

Louis Maiden
Harvard Business School

DataCamp is by far my favorite website to learn from.

Ronald Bowers
Decision Science Analytics, USAA