Advanced Object-Oriented Programming in R: Statistical Programming for Data Science, Analysis and Finance

  • 1h 43m
  • Thomas Mailund
  • Apress
  • 2017

Learn how to write object-oriented programs in R and how to construct classes and class hierarchies in the three object-oriented systems available in R. This book gives an introduction to object-oriented programming in the R programming language and shows you how to use and apply R in an object-oriented manner. You will then be able to use this powerful programming style in your own statistical programming projects to write flexible and extendable software.

After reading Advanced Object-Oriented Programming in R, you'll come away with a practical project that you can reuse in your own analytics coding endeavors. You’ll then be able to visualize your data as objects that have state and then manipulate those objects with polymorphic or generic methods. Your projects will benefit from the high degree of flexibility provided by polymorphism, where the choice of concrete method to execute depends on the type of data being manipulated.

What You'll Learn

  • Define and use classes and generic functions using R
  • Work with the R class hierarchies
  • Benefit from implementation reuse
  • Handle operator overloading
  • Apply the S4 and R6 classes

Who This Book Is For

Experienced programmers and for those with at least some prior experience with R programming language.

About the Author

Thomas Mailund is an associate professor in bioinformatics at Aarhus University, Denmark. He has a background in math and computer science. For the last decade, his main focus has been on genetics and evolutionary studies, particularly comparative genomics, speciation, and gene flow between emerging species. He has published Beginning Data Science in R, Functional Programming in R and Metaprogramming in R with Apress as well as other books out there.

In this Book

  • Classes and Generic Functions
  • Class Hierarchies
  • Implementation Reuse
  • Statistical Models
  • Operator Overloading
  • S4 Classes
  • R6 Classes
  • Conclusions