Problem
有没有办法在shiny 的应用程序中插入(并判断)RMarkdown脚本.(注意,我并不是在RMarkdown中寻找一个解释为here的shiny 应用程序,也不是在Shinny(see Shiny Gallery Markdown)中寻找Markdown脚本.)
我正在构建一个包含文本、等式、代码块、绘图和交互元素的应用程序.为了方便起见,我对文本和方程式使用了标记文件,并且希望在两者之间有一个绘图(例如,在RMarkdown中写入大多数内容).由于shiny 应用程序更复杂(我使用shinydashboard
,包括它的许多独特功能),我更喜欢不使用first link中描述的方法的选项.
一个最起码的工作示例是:
R文件:
library(shiny)
ui <- shinyUI(
fluidPage(
includeMarkdown("RMarkdownFile.rmd")
)
)
server <- function(input, output) {}
shinyApp(ui, server)
和同一文件夹中的"RMarkdownFile.rmd":
This is a text
$$ E(x) = 0 $$
```{r, eval = T}
plot(rnorm(100))
```
Result:
Target
如果我编织rmd
文件,我想要的是输出:
具体来说,我想得到代码块的判断结果(绘图…),我想得到渲染的数学方程.
有什么 idea 吗?
Edited Solution
由于@Bunk的输入,我 Select 使用命令knit
将所有rmd
个文件渲染为md
个文件,然后将md
个文件包含在shiny 的应用程序中(我使用markdown而不是html,因为后者产生了一些等式问题).最后,includeMarkdown
被包裹在withMathJax
中,以确保方程式的正确显示.
最后的代码如下所示:
library(shiny)
library(knitr)
rmdfiles <- c("RMarkdownFile.rmd")
sapply(rmdfiles, knit, quiet = T)
ui <- shinyUI(
fluidPage(
withMathJax(includeMarkdown("RMarkdownFile.md"))
)
)
server <- function(input, output) { }
shinyApp(ui, server)