Publications by John Mount

How cdata Control Table Data Transforms Work

23.03.2019

With all of the excitement surrounding cdata style control table based data transforms (the cdata ideas being named as the “replacements” for tidyr‘s current methodology, by the tidyr authors themselves!) I thought I would take a moment to describe how they work. cdata defines two primary data manipulation operators: rowrecs_to_blocks() an...

2779 sym R (459 sym/1 pcs)

Operator Notation for Data Transforms

25.03.2019

As of cdata version 1.0.8 cdata implements an operator notation for data transform. The idea is simple, yet powerful. First let’s start with some data. d <- wrapr::build_frame( "id", "measure", "value" | 1 , "AUC" , 0.7 | 1 , "R2" , 0.4 | 2 , "AUC" , 0.8 | 2 , "R2" , 0.5 ) knitr::kable(...

1126 sym R (689 sym/7 pcs) 5 tbl

Standard Evaluation Versus Non-Standard Evaluation in R

02.04.2019

There is a lot of unnecessary worry over “Non Standard Evaluation” (NSE) in R versus “Standard Evaluation” (SE, or standard “variables names refer to values” evaluation). This very author is guilty of over-discussing the issue. But let’s give this yet another try. The entire difference between NSE and regular evaluation can be sum...

4447 sym R (347 sym/7 pcs) 2 img

C++ is Often Used in R Packages

03.04.2019

The recent r-project article “Use of C++ in Packages” stated as its own summary of recommendation: don’t use C++ to interface with R. A careful reading of the article exposes at least two possible meanings of this: Don’t use C++ to directly call R or directly manipulate R structures. A technical point directly argued (for right or wro...

3282 sym

What are the Popular R Packages?

04.04.2019

“R is its packages”, so to know R we should know its popular packages (CRAN). Or put it another way: as R is a typical “the reference implementation is the specification” programming environment there is no true “de jure” R, only a de facto R. To look at popular R packages I defined “popular” as used (Depends/Imports/LinkingTo) by...

4618 sym 4 img

Why RcppDynProg is Written in C++

05.04.2019

The (matter of opinion) claim: “When the use of C++ is very limited and easy to avoid, perhaps it is the best option to do that […]” (source discussed here) got me thinking: does our own RcppDynProg package actually use C++ in a significant way? Could/should I port it to C? Am I informed enough to use something as complicated as C++ correc...

3488 sym R (623 sym/1 pcs) 4 img

Not Always C++’s Fault

06.04.2019

From the recent developer.r-project.org “Staged Install” article: Incidentally, there were just two distinct (very long) lists of methods in the warnings across all installed packages in my run, but repeated for many packages. It turned out that they were lists of exported methods from dplyr and rlang packages. These two packages take very l...

1117 sym

Practical Data Science with R Book Update

08.04.2019

A good friend shared with us a great picture of Practical Data Science with R, 1st Edition hanging out in Cambridge at the MIT Press Bookstore. This is as good an excuse as any to share a book update. Nina Zumel and I (John Mount) are busy revising chapters 10 and 11 of Practical Data Science with R, 2nd Edition. We expect the second edition t...

1933 sym 2 img

R Photo

10.04.2019

A good friend is now a professor at the University of Auckland and knew to photograph and send us this. Thanks!!! Related To leave a comment for the author, please follow the link and comment on their blog: R – Win-Vector Blog. R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Clic...

516 sym 2 img

Piping is Method Chaining

14.04.2019

What R users now call piping, popularized by Stefan Milton Bache and Hadley Wickham, is inline function application (this is notationally similar to, but distinct from the powerful interprocess communication and concurrency tool introduced to Unix by Douglas McIlroy in 1973). In object oriented languages this sort of notation for function applica...

3444 sym Python (1275 sym/12 pcs)