Mastering Software Development in R
Last updated on 2017-08-15
About the Book
The world of R has evolved substantially since its early days as a statistical computing language. As the field of data science has rocketed to the forefront of all areas of scientific and industry work, R has become the centerpiece language for doing data science. Through the contributions of a vibrant and highly active developer community, R has evolved to the point where it can be considered a software development language for developing robust, modular, and highly reusable software tools.
We begin by providing a rigorous introduction to the R language, and quickly move on to more advanced aspects like functional programming, object-oriented programming, building R packages, and software maintainence. We also discuss the development of custom visualization tools through packages like ggplot2 and ggmap.
This book is about using R to develop the tools for doing data science. Whether you are on a data science team or working by yourself as part of a community of developers or data scientists, you will find this book useful as a reference for the software development process in R. Throughout, we focus on the aspects of the R language that are relevant to developing code and tools that will be used by others.
Printed copies of the book are available from Lulu (coming soon).
The Book + Code Files + Datasets
This package provides in convenient form the code executed in the book as well as datasets needed to reproduce the examples. In addition, we include a complete HTML version of the book for browsing locally on your computer.
1. The R Programming Environment
- 1.1 Crash Course on R Syntax
- 1.2 The Importance of Tidy Data
1.3 Reading Tabular Data with the
- 1.4 Reading Web-Based Data
- 1.5 Basic Data Manipulation
- 1.6 Working with Dates, Times, Time Zones
- 1.7 Text Processing and Regular Expressions
- 1.8 The Role of Physical Memory
- 1.9 Working with Large Datasets
- 1.10 Diagnosing Problems
2. Advanced R Programming
- 2.1 Control Structures
- 2.2 Functions
- 2.3 Functional Programming
- 2.4 Expressions & Environments
- 2.5 Error Handling and Generation
- 2.6 Debugging
- 2.7 Profiling and Benchmarking
- 2.8 Non-standard Evaluation
- 2.9 Object Oriented Programming
- 2.10 Gaining Your ‘tidyverse’ Citizenship
3. Building R Packages
- 3.1 Before You Start
- 3.2 R Packages
- 3.4 Documentation
- 3.5 Data Within a Package
- 3.6 Software Testing Framework for R Packages
- 3.7 Passing CRAN checks
- 3.8 Open Source Licensing
- 3.9 Version Control and GitHub
- 3.10 Software Design and Philosophy
- 3.11 Continuous Integration
- 3.12 Cross Platform Development
4. Building Data Visualization Tools
- 4.1 Basic Plotting With ggplot2
- 4.2 Customizing ggplot2 Plots
- 4.3 Mapping
- 4.4 htmlWidgets
- 4.5 The grid Package
- 4.6 Building a New Theme
- 4.7 Building New Graphical Elements
- About the Authors
The Leanpub 45-day 100% Happiness Guarantee
Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms...