I enjoy writing in my spare time and try to write about an hour per day. Working in academia I, of course, spend a lot of time writing at work, but writing books relax me. Of course, I mostly stick to what I know, so my books are related to work and motivated by teaching or research. So far, that has been topics on R programming and data science. If you buy my books as ebooks on Amazon, you should be aware that they are usually technical and contain graphics and code examples that will not display well on a Kindle device. I recommend that you use the Kindle app instead (click the icon on the left; if you download the app from there I get a little bonus from Amazon, so you will be supporting my writing that way).

If you want to get informed about new books I am writing, please sign up to my mailing list.


Beginning Data Science in R: Data Analysis, Visualization, and Modelling for the Data Scientist

Discover best practices for data analysis and software development in R and start on the path to becoming a fully-fledged data scientist. This book teaches you techniques for both data manipulation and visualization and shows you the best way for developing new software packages for R.

Beginning Data Science in R details how data science is a combination of statistics, computational science, and machine learning. You’ll see how to efficiently structure and mine data to extract useful patterns and build mathematical models. This requires computational methods and programming, and R is an ideal programming language for this.

This book is based on a number of lecture notes for classes the author has taught on data science and statistical programming using the R programming language. Modern data analysis requires computational skills and usually a minimum of programming.

What You Will Learn

  • Perform data science and analytics using statistics and the R programming language
  • Visualize and explore data, including working with large data sets found in big data
  • Build an R package
  • Test and check your code
  • Practice version control
  • Profile and optimize your code

Who This Book Is For

Those with some data science or analytics background, but not necessarily experience with the R programming language.

Available at Apress and Amazon.

The Beginner’s Guide to GitHub

You have heard about git and GitHub and wanted to know what the buzz is about. That is what I am here to tell you. Or, at least, I am here to give you a quick overview of what you can do with git and GitHub. I won’t be able, in the space here, to give you an exhaustive list of features—in all honesty, I don’t know enough myself to be able to claim expertise with these tools. I am only a frequent user, but I can get you started and give you some pointers for where to learn more. That is what this booklet is for.

The book is available as an ebook on Amazon.

Advanced Statistical Programming in R

This is a series of shorter books covering more specialised topics. The following books are currently available, but more are planned.

Functional Programming in R

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. Also, 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.

This book is no longer available for purchase as I have sold it to Apress. It will be released later in 2017 in a new version.

You can pre-order it now at Apress or Amazon.

Object oriented programming in R

Object-oriented programming is a powerful paradigm for constructing reusable and maintainable code. This book gives an introduction to object-oriented programming in the R programming language. Object-oriented programming is a style of programming that focuses on data as “objects” that have state and can be manipulated by polymorphic or generic methods.

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. Object-oriented programming achieves high flexibility through so-called polymorphism, where which concrete methods are executed depends on the type of data being manipulated.

In this book, I teach you how to write object-oriented programs. How to construct classes and class hierarchies in the three object-oriented systems available in the R programming language, and how to exploit polymorphism to write flexible and extendable software.

The book is available as ebook or paperback at Amazon.

Meta-programming in R

What’s more fun than writing programs? Writing programs that write programs!

Meta-programming means writing programs that manipulate other programs (or manipulate itself), and in the high-level programming language R, there are rich features that enable us to extend the language itself. This book tells you how!

The book is available as ebook and paperback on Amazon.


Leave a Reply