Defining a new S4 class
You have seen that the S3 class does not have any formal definition, and as a result, there is a greater chance of making naïve mistakes. The S4 class is more rigorous, and it has a formal definition and a uniform way to create objects. In this recipe, you will define a new S4 class robustSummary
.
Getting ready
Suppose you have a numeric vector x
representing the number of hours spent on social media in a week. You want to define a new S4 class that will display the robust descriptive statistics. The name of the new class will be robustSummary
, and the individual items of this class will be as follows:
- Median
- MAD
- First quartile
- Third quartile
Here is the original vector with 50 numeric values:
x <- c(13, 21, 19, 18, 21, 16, 21, 24, 17, 18, 12, 18, 29, 17, 18, 11, 13, 20, 25, 18, 15, 19, 21, 21, 7, 12, 23, 31, 16, 19, 23, 15, 25, 19, 15, 25, 25, 16, 29, 15, 26, 29, 23, 24, 20, 19, 14, 27, 22, 26)
How to do it…
Take a look at the following steps:
- To define...