在闪亮的应用程序中渲染 r markdown 的 html 输出

SNT*_*SNT 8 r r-markdown shiny

我正在尝试使用 r markdown 生成用于演示的 HTML 文档。现在,当我使用独立版本执行此操作时,似乎工作正常。但是当我在一个闪亮的应用程序中使用它时,它似乎不起作用。到目前为止我已经用过这个UI

includeHTML("mkslides.html")

并在服务器中使用它来呈现降价。

out <- render('mkslides.Rmd')

当我在加载闪亮的应用程序时看到控制台时,似乎会呈现降价。但我看到的只是 HTML 文件,没有所需的 css 和 js。我怎样才能解决这个问题?

RK1*_*RK1 16

我不能 100% 确定您的目标,因此将尝试解决上述两点。

  1. 在 a 中呈现 HTML 文档ShinyApp

这非常简单,您所需要做的就是includeHTML在您UI.R的 ShinyApp 部分中使用,不需要服务器端组件。

http://shiny.rstudio.com/gallery/include-html-text-and-markdown-files.html

注意: includeHTML不会渲染您的*.Rmd文件。

  1. 在 a 中渲染 .Rmd 文件ShinyApp

这需要knitmarkdownToHTML,请参阅下面的线程。

Shiny 应用程序中的 RMarkdown


示例代码片段

.Rmd 文件示例

---
title: "An example Knitr/R Markdown document"
output: html_document
---


{r chunk_name, include=FALSE}
x <- rnorm(100)
y <- 2*x + rnorm(100)
cor(x, y)
Run Code Online (Sandbox Code Playgroud)
{r scatterplot, fig.width=8, fig.height=6}
plot(x,y)
Run Code Online (Sandbox Code Playgroud)

以上另存为:test_presentation.Rmdknit作为test_presentation.html

1. 将HMTL文件包含在Shiny

library(shiny)

ui <- shinyUI(
  fluidPage(
    includeHTML('test_presentation.html')
  )
)
server <- function(input, output) {
}

shinyApp(ui, server)

Run Code Online (Sandbox Code Playgroud)

2.渲染上述*.Rmd文件Shiny

代码采用形式:/sf/answers/2345036711/

library(shiny)
library(knitr)

ui <- shinyUI(
  fluidPage(
    uiOutput('markdown')
  )
)
server <- function(input, output) {
  output$markdown <- renderUI({
    HTML(markdown::markdownToHTML(knit('test_presentation.rmd', quiet = TRUE)))
  })
}

shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)