Programming

parsermd - parsing R Markdown for fun and profit

rstudio::global 2021

parsermd - parsing R Markdown for fun and profit

January 21, 2021

parsermd is a new R package for parsing and programmatically interacting with R Markdown (Rmd) documents.

Making Shiny apps faster with caching

rstudio::global 2021

Making Shiny apps faster with caching

January 21, 2021

Shiny's 1.6 has a new function, bindCache(), which makes it easy to dramatically speed up reactive expressions and output rendering functions.

Easy larger-than-RAM data manipulation with {disk.frame}

rstudio::global 2021

Easy larger-than-RAM data manipulation with {disk.frame}

January 21, 2021

Learn how to handle 100GBs of data with ease using {disk.frame} - the larger-than-RAM-data manipulation package.

Designing Randomized Studies using Shiny

rstudio::global 2021

Designing Randomized Studies using Shiny

January 21, 2021

This talk will walk through building a self-contained randomized study using Shiny and learnr modules.

xaringan Playground: Using xaringan to learn web development

rstudio::global 2021

xaringan Playground: Using xaringan to learn web development

January 21, 2021

xaringan is a quirky package that extends R Markdown to create beautiful web-based HTML slides.

plumber + future: Async Web APIs

rstudio::global 2021

plumber + future: Async Web APIs

January 21, 2021

plumber is an R package that allows users to create web APIs by decorating R functions using roxygen2-like comments.

Introducing xrprof: A New Way to Profile R

rstudio::global 2021

Introducing xrprof: A New Way to Profile R

January 21, 2021

Tracking down performance issues in R code usually means using R's built-in Rprof() profiler or one of the packages built around it.

Bigger Data With Ease Using Apache Arrow

rstudio::global 2021

Bigger Data With Ease Using Apache Arrow

January 21, 2021

R is unparalleled in its ability to transform raw data into a wide array of beautiful graphics, all within the same environment.

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