Book Image

R Programming By Example

By : Omar Trejo Navarro
Book Image

R Programming By Example

By: Omar Trejo Navarro

Overview of this book

R is a high-level statistical language and is widely used among statisticians and data miners to develop analytical applications. Often, data analysis people with great analytical skills lack solid programming knowledge and are unfamiliar with the correct ways to use R. Based on the version 3.4, this book will help you develop strong fundamentals when working with R by taking you through a series of full representative examples, giving you a holistic view of R. We begin with the basic installation and configuration of the R environment. As you progress through the exercises, you'll become thoroughly acquainted with R's features and its packages. With this book, you will learn about the basic concepts of R programming, work efficiently with graphs, create publication-ready and interactive 3D graphs, and gain a better understanding of the data at hand. The detailed step-by-step instructions will enable you to get a clean set of data, produce good visualizations, and create reports for the results. It also teaches you various methods to perform code profiling and performance enhancement with good programming practices, delegation, and parallelization. By the end of this book, you will know how to efficiently work with data, create quality visualizations and reports, and develop code that is modular, expressive, and maintainable.
Table of Contents (12 chapters)

Starting simple with timestamps using S3 classes

We start by programming a class that has no external dependencies, the TimeStamp. We will use this class to indicate dates and times together in a single string in the format YYYY-MM-DD-HH-mm, where MM means month and mm means minutes. As you can see, with one of these strings you have the information time and date, and it will be stored with the data we retrieve from time-series for analysis in Chapter 9, Implementing an Efficient Simple Moving Average.

Our TimeStamp class will be implemented using S3. As you can see, we include the lubridate package to do some heavy lifting for us when transforming dates, and provide a constructor that checks whether or not the string being passed is a valid timestamp:

library(lubridate)
timestamp_constructor <- function(timestamp = now.TimeStamp()) {
class(timestamp) <- "TimeStamp...