# Reporting with R Markdown

**Accredited by the RSS**  
Course Level: Intermediate  
_(6 hours)_

Do you want to dynamically create static or interactive documents? Do you want your reports to automatically update when the data changes? Then this session is for you! R Markdown is easy to use and allows for dynamic report generation. Whether you are hoping to generate HTML, PDF or Microsoft Word like documents, or even slides for a presentation, R Markdown tailors to your needs.

[Download course details](/content/training/course/reporting-r-markdown-dashboards/assets/course-outline.pdf)

## Course Details

### Outline

- **R Markdown**: Creating documents using Markdown  
- **{knitr}**: Running dynamic R code  
- **{kableExtra} & {DT}**: Embedding tabular data into output documents  
- **{bookdown}**: Writing books and long-form reports with R Markdown  
- **{flexdashboard}**: Creating interactive dashboards  
- **Parameterised reports**: Creating flexible reports  
- **Widgets**: Exploring interactive HTML widgets

### Learning outcomes

**Session 1:**  
_By the end of session 1 participants will…_

- understand the benefits of automating reporting  
- be familiar with R Markdown  
- be able to create a basic R Markdown document  
  - output (html, pdf and word)  
- have enough knowledge in R Markdown to:  
  - implement code blocks  
  - explore code block options  
  - set YAML instructions  
  - be exposed to a few different ways of adding tables to a document, including both static and dynamic tables  
    - {DT} package  
    - {reactable} package  
- be able to embed both plots and images in documents

**Session 2:**  
_By the end of session 2 participants will…_

- understand how to render a document to a {bookdown} format, useful both for websites and online books or articles  
- be able to create dashboards displaying plots and tables using {flexdashboard}  
- be exposed to different methods of creating presentations in R, including HTML, PDF and PowerPoint presentations  
- be able to create parameterised reports that allow you to render and re-render a document with different parameters e.g. different reports for different years  
- understand best practices when creating R Markdown documents

_This course does not include:_  
- An in depth coverage of {ggplot2} and {tidyverse} to manipulate and plot data. See our [Data Visualisation with ggplot2](/content/training/course/r-advanced-graphics-ggplot2-plotly-themes-scaling-faceting/index.html) and [Data Wrangling with Tidyverse](/content/training/course/data-tidyverse-dplyr-tidyr-lubridate-forcats/index.html) course.

### Prior knowledge

It is expected that participants are already familiar with R. In particular, it assumes basic knowledge of plotting. Attendance on our [Introduction to R](/content/training/course/r-introduction-tidyverse-readr-ggplot2-dplyr/index.html) course is more than sufficient in providing you with the prerequisite knowledge required for this course!

## Attendee Feedback

- “The instructor was certainly standout, exceptionally knowledgable and eloquent in his delivery.”  
- “The tutor was able to answer and personalise the content relating to our questions/needs.”
