Creating custom objects and methods in R using the S3 system
When dealing with a programming task pertaining to a specific business domain, developing custom objects with their related methods can enhance your work quality and usability.
Consider, for instance, a programmer dealing with a logistics project. Imagine him facing a choice of different types of means of transport packed with different attributes, cost functions, and time availability.
Defining different classes for these means of transport and adding proper attributes and methods to these classes will let you build a specific domain language that is able to represent, in a convenient way, the real problem you are trying to solve with your code. This concept is further explained in The Pragmatic Programmer by Andrew Hunt and David Thomas.
R comes packed with three different systems for object-oriented programming, which are as follows:
The S3 system
The S4 system
Reference classes
In the following example, we are going to use the S3...