2017-02-20 24 views
0

Я немного потерял и не могу добавить реактивный тест (te) в блестящий вывод документа с разметкой R. Минимальным примером, основанным на примере R studio, является паста ниже.Включить реактивный текст в ярлыки R markdown.

Большое спасибо заранее! Жан-Пьер

--- 
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

Я думаю, вы должны использовать te <<- reactive(startTime - endTime) определить te вне renderPlot, используйте renderText({te()}) вместо renderText({te}), потому что это реактивное выражение, и, наконец, положить renderText({te()}) до конца после его определения.

+0

Это замечательно! Я потратил столько времени, пытаясь понять, как это работает. Ты спас мой день! – gattuso