Join the Shiny Community every month at Shiny Gatherings

How To Make A PowerPoint Presentation Using R Markdown

PowerPoint is the most recognized presentation-making software, but it isn’t for everyone. Some may find it packed with unnecessary features, and to some extent that’s true. Microsoft updates it regularly and invents things you never even knew you needed.

If you’re a programmer at heart, you likely value simplicity. That’s where this article comes in. We’ll ditch PowerPoint and make presentations in a way you didn’t know was possible. After reading, you’ll know how to make an entire editable PowerPoint presentation using only R Markdown.

Interested in a real-world use case? Here’s how we applied R Markdown in Pharma.

Table of contents:

R Markdown PowerPoint Presentation – Getting Started

We assume you have R and RStudio installed. Once in RStudio, go to FileNew FileR Markdown. A window like the one below should appear:

Image 1 - Creating a new R Markdown PowerPoint Presentation

Image 1 – Creating a new R Markdown PowerPoint Presentation

Give your presentation a title and optionally specify the author. Also, make sure to select PowerPoint as the default output format. R will ask you to install a couple of dependencies if this is your first time working with R Markdown. After clicking on OK you’ll see a default R Markdown PowerPoint presentation code:

Image 2 - Default presentation template

Image 2 – Default presentation template

That’s great, but how can you “compile” it? Well, easily! Click on the Knit dropdown and choose the Knit to PowerPoint option:

Image 3 - How to run R Markdown PowerPoint presentation

Image 3 – How to run R Markdown PowerPoint presentation

That’s it! A PowerPoint presentation will be knitted and opened after a couple of seconds. Here’s what it looks like:

Image 4 - First rendered presentation

Image 4 – First rendered presentation

It’s a strong start but definitely needs work. I’ll show you how to spice it up in the sections below. First, we’ll explore what can you actually do with Markdown.

What Can You Do With Markdown?

Markdown is a free-to-use markup language used to format plain text. It’s popular among developers and technical writers because it provides you with everything you need and nothing else. We’ll now explore what can you do with R Markdown, and how you can do it. You’ll learn how to:

  • Style the text – Use italics, bold, strikeout, subscript, superscript, small caps, and verbatim.
  • Lists – Ordered and unordered.
  • Links – Embed URLs to external websites.
  • Quotes – Special indentation for your text.
  • Equations – Does LaTeX ring a bell? You can use it in Markdown.

We’ll also cover more advanced Markdown functionality, but these are enough for one section. Use the following code to declare two slides with all mentioned Markdown functionalities:

Your R Markdown file should look like this:

Image 5 - Exploring Markdown options

Image 5 – Exploring Markdown options

And once again, use Knit to PowerPoint option to export the PPTX:

Image 6 - Rendered markdown presentation

Image 6 – Rendered markdown presentation

The R Markdown PowerPoint presentation still looks rough around the edges, but we’ll address the visuals soon. Before we do that, let’s go over a couple of “advanced” Markdown elements, and how to get the most out of them.

Want to include your Bar Plots in your presentation? Follow these Data Visualization Best Practices.

Adding Images, Tables, and Custom Layouts to an R Markdown PowerPoint Presentation

A presentation without images and tables is, well, boring. Also, most presentations make use of multiple layouts. For example, there are scenarios where a two-column layout is preferred. You’ll learn how to use it in this section.

The code snippet below implements the following:

  • 1st Slide – Loads a dog image from Unsplash and adds a caption to it.
  • 2nd Slide – Shows a table representing a subset from the Iris dataset.
  • 3rd Slide – Implements a two-column layout.

This time, you won’t see any rendered output in the R Markdown file:

Image 7 - Adding images, tables, and custom layouts

Image 7 – Adding images, tables, and custom layouts

Here’s what the final PPTX looks like:

Image 8 - Rendered Powerpoint presentation

Image 8 – Rendered Powerpoint presentation

You now know the basics of R Markdown – just enough to place any type of content into your R Markdown PowerPoint presentations. But how can you make the slideshow visually appealing? That’s what we’ll explore next.

How to Style Your R Markdown PowerPoint Presentation

The default PPTX layout is, well, default, and doesn’t look attractive at all. To change it, you’ll first have to create a blank PowerPoint presentation and open the Slide Master (View – Slide Master). Once inside, tweak it as you normally would when styling a PPTX file.

Excel is good, but not great. Check out our top alternatives from R and Python

We’ll only change the theme, just to keep things simple:

Image 9 - Editing the slide master

Image 9 – Editing the slide master

You’re free to take your time here and add custom graphics, fonts, and other visual elements. Once done, save the PPTX file right where your .Rmd file is:

Image 10 - Saving PowerPoint template

Image 10 – Saving PowerPoint template

You can save it elsewhere, but it’s a good practice to keep the PowerPoint template and R Markdown file in the same directory.

To use the template, you’ll only have to modify the header of the R Markdown file:

That’s why we saved the PPTX template in the same directory. There’s no need to think about the path. Everything else in the Rmd file remains the same.

Knit the PowerPoint presentation to verify the template was used:

Image 11 - Rendered presentation with a custom template

Image 11 – Rendered presentation with a custom template

And would you look at that – a custom PowerPoint template was successfully applied to our R Markdown PowerPoint presentation. We won’t dive into more advanced use cases today, as this alone is enough to cover what most programmers and tech users need. But if you’d like to learn about more advanced uses, let us know.


PowerPoint isn’t for everyone, just like MS Word. If you know Markdown, you can write and edit text documents much faster than in a traditional word processor. What makes things even better is its shareability, as most online writing platforms understand Markdown.

R Markdown is by no means a replacement for dedicated office suites, so keep that in mind. It might be a decent alternative if you need to automate slide production, simply don’t want to use PowerPoint, or if you don’t need all the functionalities it offers.

To further drive the point home, we recommend the following homework tasks:

  • Try to embed a YouTube video or a GIF. Is there any difference from regular images?
  • Add presenter notes to one or more slides.
  • Try to add animations between slides. Is it possible?

Feel free to share results with us on Twitter – @appsilon. We’d love to see what you come up with.

R isn’t limited to Markdown only. Here are the top free resources if you want to learn R Shiny.