r - 如何使展示模式在 rmarkdown/knitr 交互式 Shiny 文档中工作?

标签 r shiny markdown rstudio knitr

我从this question中学到了您可以将 shinyApp 选项设置为 showcase mode为了可视化(即突出显示)当用户与您的应用程序交互时,您的 Shiny 代码的哪些部分正在执行。

但是,当我尝试使用 knitr/R markdown 将其应用于交互式 Shiny 文档时,展示的代码无法显示。

如何让展示模式在交互式文档中工作?

示例:

---
title: "Showcase Mode Doesn't Work in knitr"
output:  html_document
runtime: shiny
---

See, look, no highlatable code shows up with the app:

```{r, echo=FALSE}
library(shiny)
ui <- fluidPage(
  textInput(inputId = 'textin', label = ''),
  textOutput(outputId = 'textout')
)
server <- function(input, output){
  output$textout <- renderText({input$textin})
  }
shinyApp(ui = ui, server = server, options = list(display.mode='showcase'))
```

最佳答案

无法为 markdown 文档指定 showcase 模式 的原因很简单——它不存在。

Knitr(和 Rmarkdown 文档)在 html 页面中预呈现输出结果。在交互式 html 文档的情况下,它会为您的“渲染对象”预渲染所有输出,并根据输入指定在它们之间切换(如果我理解 Yihui Xie 在今年的 Rconf)。

而在 shiny 中,输出是动态生成的,因为有一个后端(您的计算机、服务器等)在输入更改时运行新代码。这就是为什么您可以打开 showcase 并看到那些东西发生变化并动态重新运行的原因。

关于r - 如何使展示模式在 rmarkdown/knitr 交互式 Shiny 文档中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43504405/

相关文章:

R函数创建和保存图形

R:在 R 中将数据框(混合因子和数字)转换为 XTS

R/ Shiny : Plotly reactive height discarded after window resize

visual-studio-code - Markdown代码块高亮一致性—— "s"别名是什么

html - 在 Markdown 的标题(<h1>)中强制换行(<br/>)

r - 正在进行的带有 epicurves 日期刻度的戏剧

r - 替换引用表达式中的已知变量

r - ggtitle : remove extra spaces and add a new line in ggplot title 中的粘贴函数

r - 以编程方式将 CSS 样式添加到 selectInput 选择

ms-word - 是否有控制输出页面方向的选项(使用 knit->pander->pandoc->docx)