我正在构建一个基于用户输入创建.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,但这看起来很乏味。任何输入都会有所帮助。感谢。