从现有的.Rmd渲染新的条件.Rmd

时间:2015-12-30 21:14:15

标签: r shiny rstudio knitr r-markdown

我正在构建一个基于用户输入创建.Rmd报告的闪亮应用。我可以{。1}} .Rmd到.html等,并使用render()从输出中有选择地排除代码块,并阻止它们与echo=FALSE一起运行。

我想要做的是从现有的.Rmd重新创建一个新的.Rmd,并根据相同的条件逻辑选择写入哪些块。换句话说,{。1}将.Rmd改为新的.Rmd而不是其他文件类型。这是因为我想为用户提供一个代表当前用户会话的.Rmd文件,并且可以在RStudio中重新运行以获得再现性。

这就是我想要做的事情:

实施例

现有.Rmd

eval=FALSE

输出.Rmd

render()

最佳策略是什么?如果现有的--- title: User Session `r Sys.Date()` output: html_document author: "Johnny Johnson" --- ```{r, echo = FALSE, include = FALSE} con1 <- input$userCharInput1 != "" ``` This text will render regardless of what the user does. ```{asis, echo = con1} This text will only render if con1 is TRUE. ``` ```{r, echo = con1, eval = con1} out1 <- someFun(input$userCharInput1) out1 ``` ```{r} out2 <- sum(c(10, 20)) out2 ``` --- title: User Session `r Sys.Date()` output: html_document author: "Johnny Johnson" --- This text will render regardless of what the user does. ```{r} out2 <- sum(c(10, 20)) out2 ``` 功能没有直接的方法,我认为随着会话的进行,可以在server.R中编写.Rmd,但这看起来很乏味。任何输入都会有所帮助。感谢。

0 个答案:

没有答案