Computing Reviews

Advanced object-oriented programming in R :statistical programming for data science, analysis and finance
Mailund T., Apress,New York, NY,2017. 110 pp.Type:Book
Date Reviewed: 08/09/18

Computer science (CS) research has changed dramatically in recent years. It now often involves analyzing large datasets and testing hypotheses through a set of statistical tests. Along this line, R is one of the most widely used programming languages for data analysis and statistics. The goal of this book is to give a short introduction to object-oriented programming (OOP) in R.

The author assumes that readers already known the basics of R, but want to learn OOP. Thus, the book does not cover the fundamentals of R, and is limited to a presentation of the three object-oriented systems available in R: S3, S4, and R6 (although it is mainly focused on S3). The first three chapters introduce the basic concepts of OOP, such as classes, polymorphism, and class hierarchies, using S3. Concepts are explained via toy examples. The book then introduces statistical models in R, which are the real use cases of OOP in this language. Finally, the book covers S4 and R6, explaining how they differ from S3 and how to use them to build classes and hierarchies.

I decided to read this book because, when I encountered its title, I wondered what kind of OOP I could use when conducting experiments in R. Because I am a researcher, what I was expecting was a way to simplify the pipelines that I usually write to analyze data, run statistical tests, and create graphs. However, as the author recognizes, the use of OOP in R is rare and usually restricted to uncommon tasks such as the customization of statistical models. For this reason, I will recommend this book mainly to researchers and practitioners that usually use R and want to learn OOP to improve their statistical projects. I also think it could be used as a complementary text in statistical courses.

Reviewer:  Santiago Vidal Review #: CR146194 (1810-0527)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy