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 Free4 hours17 videos55 exercises20,795 learnersStatement of Accomplishment
Create Your Free Account
or
By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.Training 2 or more people?
Try DataCamp for BusinessLoved 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.
Training 2 or more people?
Get your team access to the full DataCamp platform, including all the features.In the following Tracks
R Developer
Go To TrackR Programming Fundamentals
Go To Track- 1
Introduction to Object-Oriented Programming
FreeLearn 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.
- 2
Using S3
S3 is a very simple object-oriented system that lets you define different behavior for functions, depending upon their input argument. This chapter explains how to use S3, and how generics and methods work.
Generics and Methods or Function Overload50 xpWhat's in a Name?50 xpCreating a Generic Function100 xpCreating an S3 Method (1)100 xpCreating an S3 method (2)100 xpMethodical Thinking50 xpFinding Available Methods (1)100 xpFinding Available Methods (2)50 xpMethod Lookup for Primitive Generics50 xpPrimitive Generic Functions100 xpWho is Calling?50 xpToo Much Class50 xpVery Classy100 xpWriting the Next Method100 xp - 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.
- 4
R6 Inheritance
Learn how to inherit from an R6 class, and how the relationship between parent and child classes works.
Propagating Functionality with Inheritance50 xpSpecifying a Fancy Microwave Oven100 xpWho's the Daddy?50 xpMaking a Fancy Microwave Oven100 xpEmbrace, Extend, Override50 xpExtending the Cooking Capabilities100 xpOverriding the Cooking Capabilities100 xpMultiple Levels of Inheritance50 xpExposing your Parent100 xpOver-Overriding the Cooking Capabilities100 xpRemembering Your Origins50 xp - 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.
Environments, Reference Behavior, & Shared Fields50 xpWorking with Environments (1)100 xpWorking with Environments (2)100 xpStatic Electricity100 xpCloning R6 Objects50 xpAttack of the Clones (1)100 xpAttack of the Clones (2)100 xpShut it Down50 xpThe Final Countdown50 xpThis is the End (of an R6 Object)100 xp
Training 2 or more people?
Get your team access to the full DataCamp platform, including all the features.In the following Tracks
R Developer
Go To TrackR Programming Fundamentals
Go To Trackdatasets
Cooking times (SQLite file)prerequisites
Introduction to Writing Functions in RRichie Cotton
See MoreData Evangelist at DataCamp
Richie is a Data Evangelist 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.
What do other learners have to say?
Join over 15 million learners and start Object-Oriented Programming with S3 and R6 in R today!
Create Your Free Account
or
By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.