Publications by John Mount

Neglected R Super Functions

11.04.2018

R has a lot of under-appreciated super powerful functions. I list a few of our favorites below. Atlas, carrying the sky. Royal Palace (Paleis op de Dam), Amsterdam. Photo: Dominik Bartsch, CC some rights reserved. stats::approx(): approximate a curve/function. base::cumsum(): cumulative ordered sum. stats::ecdf(): estimate the cumulative dist...

1277 sym 2 img

cdata Update

12.04.2018

The R package cdata now has version 0.7.0 available from CRAN. cdata is a data manipulation package that subsumes many higher order data manipulation operations including pivot/un-pivot, spread/gather, or cast/melt. The record to record transforms are specified by drawing a table that expresses the record structure (called the “control table�...

1371 sym 2 img

R Tip: Use Slices

16.04.2018

R tip: use slices. R has a very powerful array slicing ability that allows for some very slick data processing. Suppose we have a data.frame “d“, and for every row where d$n_observations < 5 we wish to “NA-out” some other columns (mark them as not yet reliably available). Using slicing techniques this can be done quite quickly as follo...

1013 sym R (95 sym/1 pcs) 2 img

Upcoming speaking engagments

19.04.2018

I have a couple of public appearances coming up soon. The East Bay R Language Beginners Group: Preparing Datasets – The Ugly Truth & Some Solutions, Tuesday, May 1, 2018 at Robert Half Technologies, 1999 Harrison Street, Oakland, CA, 94612. Official May 2018 BARUG Meeting: rquery: a Query Generator for Working With SQL Data, Tuesday, May 8, 20...

1942 sym 2 img

rquery: SQL from R

10.05.2018

My BARUG rquery talk went very well, thank you very much to the attendees for being an attentive and generous audience. (John teaching rquery at BARUG, photo credit: Timothy Liu) I am now looking for invitations to give a streamlined version of this talk privately to groups using R who want to work with SQL (with databases such as PostgreSQL or...

1446 sym 2 img

Ready Made Plots make Work Easier

16.05.2018

A while back Simon Jackson and Kara Woo shared some great ideas and graphs on grouped bar charts and density plots (link). Win-Vector LLC‘s Nina Zumel just added a graph of this type to the development version of WVPlots. Nina has, as usual, some great documentation here. More and more I am finding when you are in the middle of doing somethi...

1051 sym 2 img

wrapr 1.4.1 now up on CRAN

18.05.2018

wrapr 1.4.1 is now available on CRAN. wrapr is a really neat R package both organizing, meta-programming, and debugging R code. This update generalizes the dot-pipe feature’s dot S3 features. Please give it a try! wrapr, is an R package that supplies powerful tools for writing and debugging R code. Introduction Primary wrapr services includ...

5889 sym R (2131 sym/12 pcs) 2 img

WVPlots now at version 1.0.0 on CRAN!

25.05.2018

Nina Zumel and I have been working on packaging our favorite graphing techniques in a more reusable way that emphasizes the analysis task at hand over the steps needed to produce a good visualization. We are excited to announce the WVPlots is now at version 1.0.0 on CRAN! The idea is: we sacrifice some of the flexibility and composability inher...

3370 sym R (1754 sym/7 pcs) 14 img

rqdatatable: rquery Powered by data.table

03.06.2018

rquery is an R package for specifying data transforms using piped Codd-style operators. It has already shown great performance on PostgreSQL and Apache Spark. rqdatatable is a new package that supplies a screaming fast implementation of the rquery system in-memory using the data.table package. rquery is already one of the fastest and most teach...

8674 sym R (49 sym/1 pcs) 4 img

R Tip: use isTRUE()

11.06.2018

R Tip: use isTRUE(). A lot of R functions are type unstable, which means they return different types or classes depending on details of their values. For example consider all.equal(), it returns the logical value TRUE when the items being compared are equal: all.equal(1:3, c(1, 2, 3)) # [1] TRUE However, when the items being compared are not equ...

1814 sym R (885 sym/6 pcs)