Posted on Categories Exciting Techniques, TutorialsTags , , , 1 Comment on “If You Were an R Function, What Function Would You Be?”

## “If You Were an R Function, What Function Would You Be?”

We’ve been getting some good uptake on our piping in `R` article announcement.

The article is necessarily a bit technical. But one of its key points comes from the observation that piping into names is a special opportunity to give general objects the following personality quiz: “If you were an `R` function, what function would you be?”

Posted on Categories data science, Exciting Techniques, Tutorials1 Comment on Function Objects and Pipelines in R

## Function Objects and Pipelines in R

Composing functions and sequencing operations are core programming concepts.

Some notable realizations of sequencing or pipelining operations include:

The idea is: many important calculations can be considered as a sequence of transforms applied to a data set. Each step may be a function taking many arguments. It is often the case that only one of each function’s arguments is primary, and the rest are parameters. For data science applications this is particularly common, so having convenient pipeline notation can be a plus. An example of a non-trivial data processing pipeline can be found here.

In this note we will discuss the advanced `R` pipeline operator "dot arrow pipe" and an `S4` class (`wrapr::UnaryFn`) that makes working with pipeline notation much more powerful and much easier.

Posted on Categories data science, Exciting Techniques, Programming, Tutorials2 Comments on Sharing Modeling Pipelines in R

## Sharing Modeling Pipelines in R

Reusable modeling pipelines are a practical idea that gets re-developed many times in many contexts. `wrapr` supplies a particularly powerful pipeline notation, and a pipe-stage re-use system (notes here). We will demonstrate this with the `vtreat` data preparation system.

Posted on Categories Programming, Tutorials

## Piping into ggplot2

In our `wrapr` pipe RJournal article we used piping into `ggplot2` layers/geoms/items as an example.

Being able to use the same pipe operator for data processing steps and for `ggplot2` layering is a question that comes up from time to time (for example: Why can’t ggplot2 use %>%?). In fact the primary `ggplot2` package author wishes that `magrittr` piping was the composing notation for `ggplot2` (though it is obviously too late to change).

There are some fundamental difficulties in trying to use the `magrittr` pipe in such a way. In particular `magrittr` looks for its own pipe by name in un-evaluated code, and thus is difficult to engineer over (though it can be hacked around). The general concept is: pipe stages are usually functions or function calls, and `ggplot2` components are objects (verbs versus nouns); and at first these seem incompatible.

However, the `wrapr` dot-arrow-pipe was designed to handle such distinctions.

Let’s work an example.

Posted on Categories Administrativia, Exciting Techniques, ProgrammingTags , , , 4 Comments on Dot-Pipe Paper Accepted by the R Journal!!!

## Dot-Pipe Paper Accepted by the R Journal!!!

We are thrilled to announce our (my and Nina Zumel’s) paper on the dot-pipe has been accepted by the R-Journal!

Posted on Categories Coding, Opinion, TutorialsTags , , , 4 Comments on magrittr and wrapr Pipes in R, an Examination

## magrittr and wrapr Pipes in R, an Examination

Let’s consider piping in `R` both using the `magrittr` package and using the `wrapr` package.

Posted on Categories Coding, Opinion, Statistics, Tutorials13 Comments on R Tip: Break up Function Nesting for Legibility

## R Tip: Break up Function Nesting for Legibility

There are a number of easy ways to avoid illegible code nesting problems in `R`.

In this R tip we will expand upon the above statement with a simple example.

Posted on Categories Programming, Statistics, Tutorials2 Comments on RStudio Keyboard Shortcuts for Pipes

## RStudio Keyboard Shortcuts for Pipes

I have just released some simple RStudio add-ins that are great for creating keyboard shortcuts when working with pipes in R.

You can install the add-ins from here (which also includes both installation instructions and use instructions/examples).