我已经开发了一个Shiny App,其中包含A、B、C和D四个部分。用户可以在每个部分制作一些图形。 Shiny App的额外部分允许用户通过downloadHandler函数下载所有以html格式完成的图形。 因此,用户单击“下载”按钮后会生成一个带有用户制作的所有绘图的html。
这是通过另一个文件实现的,即R markdown文件,该文件接收Shiny App的输入。在R markdown中,每个图形都在块之外跟随一些文本。
因此,R markdown具有以下结构:
所以这里的问题是:是否有一种方法允许用户选择(例如使用checkboxInput)哪些部分要包含在HTML输出中? 因此,如果用户选择A和C,则生成的HTML将是:
这是通过另一个文件实现的,即R markdown文件,该文件接收Shiny App的输入。在R markdown中,每个图形都在块之外跟随一些文本。
因此,R markdown具有以下结构:
第 A 部分
(来自块的第A部分绘图)
(第A部分的文本在块之外)
第 B 部分
(来自块的第B部分绘图)
(第B部分的文本在块之外)
第 C 部分
(来自块的第C部分绘图)
(第C部分的文本在块之外)
第 D 部分
(来自块的第D部分绘图)
(第D部分的文本在块之外)
所以这里的问题是:是否有一种方法允许用户选择(例如使用checkboxInput)哪些部分要包含在HTML输出中? 因此,如果用户选择A和C,则生成的HTML将是:
第 A 部分
(来自块的第A部分绘图)
(第A部分的文本在块之外)
第 C 部分
(来自块的第C部分绘图)
(第C部分的文本在块之外)
title: "Untitled" output: html_document params: sectionA: `r "Section A" %in% input$download_sections`
其中'download_sections'是一个checkboxGroupInput,
"Section A" %in% input$download_sections返回TRUE或FALSE,但在YAML中无法识别。 - Miquel
rmarkdown::render
,那么你可以通过“params”参数传递参数值。请参阅?rmarkdown::render
。 - stefan