Getting Started with shinyReports

Overview

The shinyReports package provides a simple way to render R Markdown reports to HTML directly within a Shiny application, displaying the result in a new browser tab and eliminating the need for users to manually download and open report files.

Create the R Markdown template

First, create your .Rmd file you want to render as a report. It must be accessible from the root directory of your application. Ensure that you output your report as a html_document within the YAML heading.

An example report.Rmd:

---
title: "My Report"
output: html_document
params:
  date: NA
---

Parameters passed from the Shiny application via renderReport() (see below) are referenced using inline R expressions, such as params$date.

Build your Shiny application

Add the reportButton() (a shiny::actionButton download wrapper) and renderReport functions to your UI and server, respectively in app.R:

library(shiny)
library(shinyReports)

ui <- fluidPage(
  reportButton("knit_report", label = "Generate Report")
)

server <- function(input, output, session) {
  renderReport(
    inputId = "knit_report",
    title = "My Report",
    rmd_file = "report.Rmd",
    params = list(date = Sys.Date())
  )
}

shinyApp(ui, server)

mirror server hosted at Truenetwork, Russian Federation.