How to Automate PowerPoint Slidedecks with R

Written by Matt Dancho on September 22, 2020

This article is part of a R-Tips Weekly, a weekly video tutorial that shows you step-by-step how to do common R coding tasks.

Your boss lives on PowerPoint decks. Do you need to create a Slide Deck every week?

Let’s learn how to automate PowerPoint with R, using officer and tidyverse.

(Click image to play video)

Here’s a common situation, you have to make a Monday Morning Slide Deck. It’s the same deck each week, just date ranges for your data change. Here’s how to automate this process with R!

First, here’s what you need to make - A weekly Stock Report.

Weekly Stock Report

Thinking like a programmer, you can collect your stock data using date ranges.

Stock Data Using Date Ranges

With a little bit of data wrangling with the tidyverse, you’ve got your table extracted & formatted!

Tidyverse Wrangling

Tidyverse Wrangling

Then you use timetk to make a sweet plot.

Timetk package

Plotting stock data

Then you use officer to add the table and plot to powerpoint.

Officer R package

You’ve just automated your Monday Morning PowerPoint in R. BOOM! 💥💥💥



  1. Get the Code

  2. Check out the R-Tips Setup Video.

Once you take these actions, you’ll be set up to receive R-Tips with Code every week. =)

👇 Top R-Tips Tutorials you might like:

  1. mmtable2: ggplot2 for tables
  2. ggdist: Make a Raincloud Plot to Visualize Distribution in ggplot2
  3. ggside: Plot linear regression with marginal distributions
  4. DataEditR: Interactive Data Editing in R
  5. openxlsx: How to Automate Excel in R
  6. officer: How to Automate PowerPoint in R
  7. DataExplorer: Fast EDA in R
  8. esquisse: Interactive ggplot2 builder
  9. gghalves: Half-plots with ggplot2
  10. rmarkdown: How to Automate PDF Reporting
  11. patchwork: How to combine multiple ggplots
  12. Geospatial Map Visualizations in R

Want these tips every week? Join R-Tips Weekly.