R Presentations

RMarkdown has gotten a lot of well-deserved acclaim and attention (along with siblings bookdown, blogdown, etc.) However, I don't tend to hear much about R Presentations -- R's answer to Powerpoint. Does anyone here have much experience using this?

Personally, whenever possible, I prefer to share my analysis straight out of an RMarkdown which I can easily navigate to "key views" but have the confidence that my whole end-to-end analysis is available to answer any questions or comments. However, whenever I do have to make slides, I haven't found R Presentations to be sufficiently flexible and find myself reverting back to Powerpoint.

Is this just inexperience on my part, or has this been others experience as well?


I'm not sure if you're asking specifically about making PowerPoint presentations in R (I don't think you are), in which case the ReporteRs :package: is the only one I know of (though I haven't used it).

If you're referring to powerpoint-like presentations (I think you are), @yihui's post, Incremental Slides with xaringan / remark.js, shows off some features I personally hadn't seen before in an RMarkdown-generated presentation.

Templating and revealing information as you go are really the only two things that would've been on my PPT-esque wishlist, but I also am not a big fan of powerpoint, so


Just a note, the ReporteRs package is still available but it will no longer be developed. They are moving all future development to the new officer package


I'm not clear why in RStudio xaringan is shown under the 'Template' rather than 'Presentation" section when creating a new RMarkdown file

That is because xaringan is a separate R package. The "Presentation" section in the RStudio IDE when you create a new R Markdown document only shows built-in output formats in the rmarkdown package.

1 Like

Thanks for clarification. So like flexdashboard is a separate package.
I kinda think of template in a narrower sense, I guess

Leaving aside ReporteRs and officer (which I don't have direct experience with), there seems to be a few potential goals for someone selecting a presentation tool:

  1. Reproducible analysis -- changing a single data point that results in the same general conclusions doesn't require a bunch of copying and pasting updated output
  2. Polish -- the ability to make a presentation look "professional", for a certain meaning of the word professional that is highly influenced by the existence of PowerPoint
  3. HTML/CSS free -- because those of us that don't do webdev on the regular can't keep up with the ever-changing best practices :wink:

At the moment, I'm not aware of any option that does all three . PowerPoint on its own falls down on 1, and also lacks polish around R code (you would need to use an external code highlighter). When I made a recent presentation about R at my company (which doesn't generally use R), I ended up with an ioslides-based presentation (after trying all of the options that RStudio offers and one or two more), but the more polish I wanted to add, the more I had to dive into the CSS.

I didn't look at xarigan at the time, but that seems to be pretty explicit in the trade-off of using HTML/CSS to get the polish. That said, if I decide to make another PowerPoint-ish R presentation, it may be worthwhile going that route rather than having to hack ioslides apart.

On the other hand, if you're willing to forgo a certain level of polish and stick with what the current frameworks have built-in (for example, presenting the results of an analysis to a client), then they work quite well. They certainly are faster than repeatedly re-creating a PowerPoint as the analysis is updated.


I'm admittedly not too familiar with packages that produce HTML slides, but I perceive two problems from what I've seen:

  1. A lack of really polished templates. If I were going to move away from PowerPoint, If want to buckle down and make some first. Although I'm also trying to stop using visyally samey slides anyway, so... :sweat:

  2. A lot of tools are just bullet points in, slides out. That is, IMO, not a great way to design slides, although it could just be a symptom of problem 1. What I would hope for is a template that specifies a heap of different useful layouts and then speed me to override fonts and colours on a per-slide basis. I'd like to get more familiar with the existing options to see if this is possible!

EDIT: I just had a look at isoslides, and it looks like you can add CSS classes to the slide titles. If that applies them to the slide itself and not just the title, I suppose you could create a bunch of class-based CSS layouts, and that would work quite well :slight_smile:

1 Like

I've aways thought that for a visual medium such as slides, posters, composite graphics etc. a pure code solution is just as limiting as a pure graphics design tool such as Inkscape. I personally use rmd+beamer for lecture slides, with heavily customised template, but mostly keynote for conference talks because I need the immediate visual feedback and freedom re placement and scaling of objects etc.

I believe there's space/need for a new tool, that would allow seamless integration of coded parts (e.g graphs generated by code), and manual interaction with design and layout components. The two aspects should update and sync smoothly.


I am a huge fan of xaringan. If you're looking to see some examples, I host a few slide decks here. I really like adding interactive visualizations, using interactive tables and comparing to excel.


Wow! Thanks so much to everyone for all of the helpful responses and feedback. I had not experimented much beyond the basics of R Presentations. I'm always disappointed when I have to return to Powerpoint. (Particularly, when I'm making a Powerpoint about how R has great end-to-end solutions.) Very excited to try some of the ideas here -- especially xaringan!

Thanks for examples. Do you also like posting the code?

Code for the slides can be found here


Thanks so much :smiley:

for an overhauled version of ioslides you can look at iosp.

the Rmarkdown template preview can be seen here

and another example here

really like the boxes and the code side by side with the output. Fits well the landscape layout of a classical slide


Thanks for this. Just created my first slide deck using xaringan. Found it really easy to use. It's much easier than trying to wrangle R into a powerpoint presentation, and the end result looks better.


I agree completely! Glad it helped!

+1 for xarnigan. I used remark.js and included R graphics by exporting. Very happy to do it inline now.

It can look very nice with minimal css tweaks, and many github users post their own custom themes. So while that's a barrier for professional, it's not insurmountable.

Edit: including some references to themes

Liminal: A theme for Remark
Hamukazu's theme for Remark


FWIW, if you've ever attended one of my webinars on rstudio.com, the slides were in Keynote---even the webinars on R Markdown. (Keynote is Apple's Powerpoint).

Why? Because you can't beat a WYSIWYG editor for creating visual information like diagrams, animations, or (in a similar vein) art. For reasons based on psychology, I think that most slide decks should convey visual (i.e. non-textual) information. It is not easy to create visual information in a reproducible, programmable context (just think about dragging an image to the "right" location).

R Markdown is an excellent way to display the results and code of a data analysis in slide format. And if that is what your talk requires, I think it is the perfect tool. But I do think this is a very specific type of presentation---sort of like a "chalk talk" in a lecture hall.


That was the conclusion I came to when making my ioslides presentation. That said, if you want to include some code in your presentation, do you have any recommendations on a good way to highlight the code prior to pasting?

Also, while I doubt I will do a "professional" RMarkdown presentation again any time soon, there is one nice aspect of making an informational presentation about R in the RMarkdown format: the wow factor of changing a value in your sample data and re-generating your entire presentation's visuals on the fly.

1 Like