在闪亮的应用中渲染来自r markdown的html输出

时间:2019-05-15 21:26:10

标签: r shiny r-markdown

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

中使用了它

includeHTML("mkslides.html")

然后在服务器中使用它来呈现降价促销。

out <- render('mkslides.Rmd')

加载闪亮的应用程序时,当我看到控制台时,降价幅度似乎已呈现。但是我所看到的只是HTML文件,而无需CSS和JS。我该如何解决?

1 个答案:

答案 0 :(得分:0)

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

  
      
  1. ShinyApp中呈现HTML文档
  2.   

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

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

注意includeHTML不会呈现您的*.Rmd文件。

  
      
  1. ShinyApp中呈现.Rmd文件
  2.   

这需要knitmarkdownToHTML,请参见以下主题。

RMarkdown in Shiny Application


示例代码

示例.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)
{r scatterplot, fig.width=8, fig.height=6}
plot(x,y)
  

以上另存为: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)

2。在*.Rmd

中呈现上述Shiny文件

采用以下格式的代码:https://stackoverflow.com/a/33500524/5996972

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)