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

时间:2017-02-20 13:37:54

标签: r shiny markdown r-markdown

我有点迷失,无法在R降价文档的闪亮输出中添加反应测试(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")
})
```

1 个答案:

答案 0 :(得分:1)

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