Programming

Technical Debt is a Social Problem

rstudio::conf 2020

Technical Debt is a Social Problem

February 5, 2020

Technical debt is a big problem for the R community. Even though R has excellent support for testing, documentation and packaging code it has the reputation that it is not suitable for production...

List-columns in data.table: Reducing the cognitive & computational burden of complex data

rstudio::conf 2020

List-columns in data.table: Reducing the cognitive & computational burden of complex data

January 31, 2020

The use of list-columns in data frames and tibbles is well documented (e.g. Bryan, 2018), providing a cognitively efficient way to organize results of complex data (e.g. several statistical models...

Interactivity and Programming in the Tidyverse

rstudio::conf 2020

Interactivity and Programming in the Tidyverse

January 31, 2020

In Tidyverse grammars such as dplyr you can refer to the columns in your data frames as if they were objects in the workspace. This syntax is optimised for interactivity and is a great fit for data...

Bridging the Gap between SQL and R

rstudio::conf 2020

Bridging the Gap between SQL and R

January 31, 2020

Like it or not, SQL is the closest thing we have to a universal language for working with structured data. Celebrating its 50th birthday in 2020, SQL today integrates with thousands of applications...

Auto-magic Package Development

rstudio::conf 2020

Auto-magic Package Development

January 31, 2020

Vega-lite is a high-level grammar of interactive graphics implemented in Javascript; it renders interactive visualizations in the browser based on a JSON specification.

vctrs: Creating custom vector classes with the vctrs package

rstudio::conf 2020

vctrs: Creating custom vector classes with the vctrs package

January 30, 2020

The base R types of vectors enable the representation of an amazingly wide array of data types. There is so much you can do with R.

Simplified Data Quality Monitoring of Dynamic Longitudinal Data: A Functional Programming Approach

rstudio::conf 2020

Simplified Data Quality Monitoring of Dynamic Longitudinal Data: A Functional Programming Approach

January 30, 2020

Ensuring the quality of data we deliver to customers or provide as inputs to models is often one of the most under-appreciated and yet time-consuming responsibilities of a modern data scientist.

Parallel computing with R using foreach, future, and other packages

rstudio::conf 2020

Parallel computing with R using foreach, future, and other packages

January 30, 2020

Steve Weston's foreach package defines a simple but powerful framework for map/reduce and list-comprehension-style parallel computation in R.

Getting things logged

rstudio::conf 2020

Getting things logged

January 30, 2020

One of the greatest strength of R is the ease and speed of developing a prototype (let it be a report or dashboard, a statistical model or rule-based automation to solve a business problem...

Future: Simple Async, Parallel & Distributed Processing in R - What's Next?

rstudio::conf 2020

Future: Simple Async, Parallel & Distributed Processing in R - What's Next?

January 30, 2020

Future is a minimal and unifying framework for asynchronous, parallel, and distributed computing in R.

Azure Pipelines and GitHub Actions

rstudio::conf 2020

Azure Pipelines and GitHub Actions

January 30, 2020

Open source R packages on GitHub often take advantage of continuous integration services to automatically check their packages for errors.

Asynchronous programming in R

rstudio::conf 2020

Asynchronous programming in R

January 30, 2020

Writing regular R code is straightforward: you tell R to do something, it does it, and then it returns control back to you.

Working with names and expressions in your tidy eval code

rstudio::conf 2019

Working with names and expressions in your tidy eval code

January 25, 2019

In practice there are two main flavors of tidy eval functions: functions that select columns, such as `dplyr::select()`, and functions that operate on columns, such as `dplyr::mutate()`.

vctrs: Tools for making size and type consistent functions

rstudio::conf 2019

vctrs: Tools for making size and type consistent functions

January 25, 2019

vctrs is a new package that provides tools (cognitive and computational) to ensure that functions behave consistently with respect to inputs of varying length and type. The end goal of vctrs is...

pkgman: A fresh approach to package installation

rstudio::conf 2019

pkgman: A fresh approach to package installation

January 24, 2019

The main goals of pkgman is to make package installation fast and more reliable. This allows new, simpler and safer workflows, such as separate package libraries for projects.

Our colour of magic: The open sourcery of fantastic R packages

rstudio::conf 2019

Our colour of magic: The open sourcery of fantastic R packages

January 24, 2019

What does it mean to say software is, to quote one Twitter user, ‘so f***ing magical!’? In the context of our popular community hobby of rating and sharing R packages, the term ‘magic’ seems...

Learning and using the Tidyverse for historical research

rstudio::conf 2019

Learning and using the Tidyverse for historical research

January 24, 2019

My talk will discuss how R, the Tidyverse, and the community around R helped me to learn to code and create my first R package. My positive experiences with the resources for learning R and...

Lazy evaluation

rstudio::conf 2019

Lazy evaluation

January 24, 2019

The "tidy eval" framework is implemented in the rlang package and is rolling out in packages across the Tidyverse and beyond. There is a lively conversation these days, as people come to terms with...

It depends: A dialog about dependencies

rstudio::conf 2019

It depends: A dialog about dependencies

January 24, 2019

Software dependencies can often be a double-edged sword. On one hand, they let you take advantage of others' work, giving your software marvelous new features and reducing bugs.

A preview of Rtools 4.0

rstudio::conf 2019

A preview of Rtools 4.0

January 24, 2019

Rtools is getting a major upgrade. In addition to the latest gcc, it now includes a full build system and package manager to build, install, and distribute external c/c++/fortran libraries needed...