Book Image

Modern R Programming Cookbook

By : Jaynal Abedin
Book Image

Modern R Programming Cookbook

By: Jaynal Abedin

Overview of this book

R is a powerful tool for statistics, graphics, and statistical programming. It is used by tens of thousands of people daily to perform serious statistical analyses. It is a free, open source system whose implementation is the collective accomplishment of many intelligent, hard-working people. There are more than 2,000 available add-ons, and R is a serious rival to all commercial statistical packages. The objective of this book is to show how to work with different programming aspects of R. The emerging R developers and data science could have very good programming knowledge but might have limited understanding about R syntax and semantics. Our book will be a platform develop practical solution out of real world problem in scalable fashion and with very good understanding. You will work with various versions of R libraries that are essential for scalable data science solutions. You will learn to work with Input / Output issues when working with relatively larger dataset. At the end of this book readers will also learn how to work with databases from within R and also what and how meta programming helps in developing applications.
Table of Contents (10 chapters)

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...