在 R markdown 闪亮文档中包含反应性文本

Include reactive text in a R markdown shiny documents

我有点迷茫,无法在 R markdown 文档的闪亮输出中添加反应测试 (te)。下面粘贴了一个基于 R studio 示例的最小示例。

非常感谢! 让-皮埃尔

---
title: "Untitled"
runtime: shiny
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r eruptions, echo=FALSE}
inputPanel(
  selectInput("n_breaks", label = "Number of bins:",
              choices = c(10, 20, 35, 50), selected = 20),

  sliderInput("bw_adjust", label = "Bandwidth adjustment:",
              min = 0.2, max = 2, value = 1, step = 0.2)
)

renderText({te})

renderPlot({
startTime <- Sys.time()
  # additional code goes here
endTime <- Sys.time() +1
te <- reactive(startTime - endTime)
hist(faithful$eruptions, probability = TRUE, breaks = as.numeric(input$n_breaks),
       xlab = "Duration (minutes)", main = "Geyser eruption duration")

  dens <- density(faithful$eruptions, adjust = input$bw_adjust)
  lines(dens, col = "blue")
})
```

我认为你应该使用 te <<- reactive(startTime - endTime)renderPlot 之外定义 te,使用 renderText({te()}) 而不是 renderText({te}) 因为它是一个反应式表达式,最后在定义后将 renderText({te()}) 放在最后。