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.
High Performance Computing in Remote Sensing The recent use of latest-generation sensors in airborne and satellite platforms is producing a nearly continual stream of high-dimensional data, which, in turn, is creating new processing challenges. To address the computational requirements of time-critical applications, researchers have begun incorporating high performance computing (HPC) models... Mastering Active Directory Making the move to Windows 2000--or thinking about it? Here's the information you need to assess the impact that Active Directory Services (ADS) will have on your network and your business. Mastering Active Directory explains the concepts behind directory services, how ADS is implemented within Windows 2000, and how it interoperates with...
The 12 Week Year: Get More Done in 12 Weeks than Others Do in 12 Months
The guide to shortening your execution cycle down from one year to twelve weeks
Most organizations and individuals work in the context of annual goals and plans; a twelve-month execution cycle. Instead, The 12 Week Year avoids the pitfalls and low productivity of annualized thinking. This book redefines your...
One Last Spin: the power and peril of the pokies
A poignant and compassionate work of literary journalism that tackles Australia’s most controversial pastime.
Almost 200,000 poker machines sing and flash in pubs, clubs, and casinos in every corner of the country. They’re highly complex devices, their components designed by mathematicians, musicians,...