【问题标题】:Rendering html outputs from r markdown in shiny app在闪亮的应用程序中渲染 r markdown 的 html 输出
【发布时间】:2019-10-03 02:23:07
【问题描述】:

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

includeHTML("mkslides.html")

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

out <- render('mkslides.Rmd')

当我在闪亮的应用程序加载时看到控制台时,似乎呈现了降价。但我看到的只是 HTML 文件,不需要 css 和 js。我该如何解决这个问题?

【问题讨论】:

  • 在 .Rmd 文件中包含闪亮代码似乎更为常见。我觉得this就是一个很好的例子,过程详细一点herehere

标签: r shiny r-markdown


【解决方案1】:

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

  1. ShinyApp 中呈现 HTML 文档

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

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

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

  1. ShinyApp 中呈现 .Rmd 文件

这需要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.Rmdknittest_presentation.html

1.在Shiny 中包含HMTL 文件

library(shiny)

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

shinyApp(ui, server)

2。在Shiny中渲染上述*.Rmd文件

代码格式: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)

【讨论】:

    猜你喜欢
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 2015-01-11
    • 2021-12-08
    • 2019-11-09
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多