## Book description

Master functions and discover how to write functional programs in R. In this concise book, you'll make your functions pure by avoiding side-effects; you'll write functions that manipulate other functions, and you'll construct complex functions using simpler functions as building blocks.

In *Functional Programming in R*, you'll see how we can replace loops, which can have side-effects, with recursive functions that can more easily avoid them. In addition, the book covers why you shouldn't use recursion when loops are more efficient and how you can get the best of both worlds.

Functional programming is a style of programming, like object-oriented programming, but one that focuses on data transformations and calculations rather than objects and state. Where in object-oriented programming you model your programs by describing which states an object can be in and how methods will reveal or modify that state, in functional programming you model programs by describing how functions translate input data to output data. Functions themselves are considered to be data you can manipulate and much of the strength of functional programming comes from manipulating functions; that is, building more complex functions by combining simpler functions.

**What You'll Learn**

Write functions in R including infix operators and replacement functions

Create higher order functions

Pass functions to other functions and start using functions as data you can manipulate

Use Filer, Map and Reduce functions to express the intent behind code clearly and safely

Build new functions from existing functions without necessarily writing any new functions, using point-free programming

Create functions that carry data along with them

**Who This Book Is For**

Those with at least some experience with programming in R.

## Product information

- Title: Functional Programming in R: Advanced Statistical Programming for Data Science, Analysis and Finance
- Author(s):
- Release date: March 2017
- Publisher(s): Apress
- ISBN: 9781484227466

## You might also like

book

### 40 Algorithms Every Programmer Should Know

Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental …

book

### Machine Learning with R, the tidyverse, and mlr

Machine Learning with R, the tidyverse, and mlr gets you started in machine learning using R …

book

### Head First Design Patterns, 2nd Edition

You know you don’t want to reinvent the wheel, so you look to design patterns—the lessons …

book

### Practical Data Science with R, Second Edition

Practical Data Science with R, Second Edition is a task-based tutorial that leads readers through dozens …