Tracy Teal is the Open Source Program Director at RStudio.
It’s the lead up to rstudio::conf(2022), and I’m quickly learning what ‘conf-driven development’ means. There’s a lot going on, and more to come at conf!
I’ve been here about a year now as the Open Source Program Director, and am excited about what we do everyday. To share that excitement and provide a
glimpse() into our tools and how to use them, I’m kicking off this newsletter. I’ll share highlights, new releases, learning resources and some quick tips and tricks. I hope this helps keep you up to date, learn some things, and have some fun too.
This is my first newsletter, so I’m trying out the format and topic areas. I’d love to hear from you what you think and what you might like to see. Comment in RStudio Community and follow along at our @rstudio_glimpse Twitter account too.
- MLOps in R and Python. We’re thrilled to announce vetiver to provide fluent tooling to version, share, deploy, and monitor a trained model. Using vetiver for MLOps lets you use the tools you are comfortable with, in R or Python, for exploratory data analysis and model training/tuning, and provides a flexible framework for the parts of a model lifecycle not served as well by current approaches.
- GitHub actions for R developers v2. The r-lib/actions repo has a number of reusable actions that perform common R-related tasks that makes continuous integration for R package development easier. Updates include simpler workflows, snapshots as artifacts, and more!
- Try out case weights in tidymodels. Case weights are non-negative numbers used to specify how much each observation influences the estimation of a model. This has been in the works for awhile, and the tidymodels team would love feedback.
- Easier installation for TinyTex and tinytex. TinyTex and tinytex have moved GitHub organizations to make it safer to build, install, and manage future contributions. TinyTeX users, you can install the full TeX Live now if you prefer! It’s a few gigabytes and contains all possible LaTeX packages.
- Need to test a Shiny app? shinytest2 provides a streamlined toolkit for unit testing Shiny applications and seamlessly integrates with the popular testthat framework for unit testing R code.
- rstudio::conf(2022) is coming July 25th! See the full schedule. There’s still time to sign up for in-person workshops or the conference. Head to the conference page to participate virtually and watch the live streams. You’ll also be able to catch recordings after the conference. There will be so much for all of us to share with each other!
Learn. Teach. Share.
- Playing games with Shiny. Dragons, numbers and Shiny, what could be better! Jesse Mostipak and Barret Schloerke live code some Shiny games. Come for the Shiny games, stay for the awesome example of paired coding.
- Wordle with Shiny. Winston Chang created a Shiny Wordle app, and shows how in this three-part video. I loved it so much, I created my own too!
- Tables. Tables. Tables. Looking to up your table game, or get started with tables? See the great examples from the table gallery and Rich Iannone and Jesse Mostipak’s amazing tables videos including tables battles, making beautiful tables, and new features in gt.
- Torch outside the box. Sometimes, a software’s best feature is the one you’ve added yourself. See an example of why you may want to extend torch, how to proceed, and an example of torchopt.
- Getting started with deep learning in R. Announcing the release of “Deep Learning with R, 2nd Edition,” from François Chollet, Tomasz Kalinowski and J. J. Allaire. The book is over a third longer, with more than 75% new content, so basically a new book! It shows you how to get started with deep learning in R, even if you have no background in mathematics or data science.
- Teaching the tidyverse in 2021. Mine Çetinkaya-Rundel continues her great series on teaching the tidyverse and has tips for folks who might want to update their teaching materials to include the last year’s changes in the tidyverse.
How I Use Stories to Share Data at Meetings by Ryan Estrellado. Learn how Ryan more effectively communicates information for data-driven decision making, using the Palmer penguins dataset as an example!
R Markdown Tips and Tricks #3: Time-savers and Troubleshooters by Brendan Cullen, Alison Hill and Isabella Velásquez. There’s even more in Part 1: Working in the RStudio IDE and Part 2: Cleaning up your code.
Selected new releases
pins for Python
We’re excited to announce the release of pins for Python! pins removes the hassle of managing data across projects, colleagues, and teams by providing a central place for people to store, version and retrieve data. If you’ve ever chased a CSV through a series of email exchanges, or had to decide between data-final.csv and data-final-final.csv, then pins is for you.
The reticulate package provides a comprehensive set of tools for interoperability between Python and R. New release fixes some issues and has some exception handling changes.
gt 0.6.0 is here, along with several new functions! Join Rich Iannone on a tour of these functions and how they work in the release video.
New release of distill fixes some outstanding issues and improves highlighting and code folding.
TensorFlow and Keras 2.9
These releases bring many refinements that allow for more idiomatic and concise R code.
dbplyr is a database backend for dplyr that allows you to use a remote database as if it was a collection of local data frames: you write ordinary dplyr code and dbplyr translates it to SQL for you. This release has improvements to SQL translations and support for dplyr’s
haven allows you to read and write SAS, SPSS, and Stata data formats from R, thanks to the wonderful ReadStat C library written by Evan Miller.
The goal of pkgload is to simulate the process of installing and loading a package, without actually doing the complete process, and hence making package iteration much faster. The main feature in this release is that devtools::load_all() now prompts you to install missing dev deps with pak.
rig lets you install and manage multiple #rstats versions on macOS, Windows or Linux. Many exciting new features in this and previous releases, including a macOS menu bar app.
rlang is a collection of frameworks and APIs for programming with R. New releases feature an opt-in new display for backtraces that we are considering enabling by default in the future. This new display shows more frames by default and uses colours to deemphasise the parts that were previously hidden.
roxygen2 allows you to write specially formatted R comments that generate R documentation files (
man/*.Rd) and the NAMESPACE file.
The scales package provides much of the infrastructure that underlies ggplot2’s scales, and using it allows you to customize the transformations, breaks, and labels used by ggplot2.
This is the first release of the bonsai package on CRAN. bonsai is a parsnip extension package for tree-based models.
This is a new package! censored is a parsnip extension package for survival models.
recipes is a package for preprocessing data before using it in models or visualizations. You can think of it as a mash-up of model.matrix() and dplyr.
spatialsample is a package for spatial resampling, extending the rsample framework to help create spatial extrapolation between your analysis and assessment data sets.
stacks is on CRAN, enabling stacked ensemble modeling with tidy data principles. See more in this short paper on the package published in JOSS.
chromote is an R implementation of the full Chrome dev tools protocol, providing a headless Chrome Remote Interface. The website has a TON of usage examples!
shinytest2 provides a streamlined toolkit for unit testing Shiny applications and seamlessly integrates with the popular testthat framework for unit testing R code.
webshot2 enables you to take screenshots of web pages from R, replacing webshot by using chromote instead of PhantomJS.
Thank you for reading our first rstudio::glimpse() newsletter. Let me know if you have any comments, ideas or suggestions for what you’d like to see in the newsletter by talking about this post on RStudio Community!
How do computers like their snacks?Byte size.