我正在用learnr
编写教程,并希望包含一些“其他使用Shiny的交互形式”(来自learnr tutorial)。我是Shiny的新手,但主要通过复制和粘贴进行管理-可以使用几个示例。除非以下内容:(代码摘自视频讲座“如何从Shiny开始”的第二部分,代码示例为“ 08-reactiveValues.R”)
我的YAML标头:
output:
learnr::tutorial:
progressive: true
allow_skip: true
runtime: shiny_prerendere
我的R块:
```{r my-dist-ui, context="render"}
actionButton(inputId = "norm", label = "Normal")
actionButton(inputId = "unif", label = "Uniform")
plotOutput("hist")
```
```{r my-dist-server, context="server"}
rv <- reactiveValues(data = rnorm(100))
observeEvent(input$norm, { rv$data <- rnorm(100) })
observeEvent(input$unif, { rv$data <- runif(100) })
output$hist <- renderPlot({ hist(rv$data) })
```
我可以看到为该图保留了一个空白空间,但没有图。单击按钮时没有任何变化。没有错误消息。
是否某些命令(例如reactValues或observeEvent)不能与runtime: shiny_prerendered
一起使用? (上面的示例在控制台中以其原始形式运行。但是,另一个带有绘图的示例-Geyser示例-确实可以在我的Learnr
Rmd文件中使用。)
我在Intel Mac OS X 10_13_5,rmarkdwon 1.10,闪亮1.1.0和学习者0.9.2。上使用R Studio 3.5.0和RStudio 1.1.453。
答案 0 :(得分:0)
我发现了(哑)错误:
我在同一文件中为其他测试图使用了相同的plotOutput变量:plotOutput("hist")
。
当我将其更改为plotOutput("hist2")
并相应地将服务器上下文更改为output$hist2 <- renderPlot({ hist(rv$data) })
时,我的所有图都出现了,整个学习者文件再次正常工作。