Вставка реактивных значений в ReactiveValues - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть следующее блестящее приложение

server <- function(input, output, session) {
  rv <- reactiveValues(i = 0)

  output$myplot <- renderPlotly({
    dt = data.frame(x = 1:10, y = rep(rv$i,10))
    plot_ly(dt, x = ~x, y =~y, mode = "markers", type = 'scatter') %>%
      layout(yaxis = list(range = c(0,10)))
  })

  observeEvent(input$run,{
    rv$i <- input$valstart
  })

  observe({
    isolate({rv$i = rv$i + 1})
    if (rv$i < 10){invalidateLater(1000, session)}
  })
}

ui <- fluidPage(
  sliderInput('valstart','Start Value', min = 1, max =3, value= 3),
  actionButton("run", "START"),
  plotlyOutput("myplot")
)

shinyApp(ui = ui, server = server)

Я хотел бы, однако, чтобы значение rv в начале, когда я запускаю приложение, зависело от параметра (здесь мой ползунок ввода).Я хотел бы что-то вроде этого:

rv <- reactiveValues(i = input$valstart)

Но это дает мне следующую ошибку:

Ошибка в .getReactiveEnvironment () $ currentContext (): операция не разрешена без активногореактивный контекст.(Вы пытались сделать что-то, что может быть сделано только внутри реактивного выражения или наблюдателя.)

Кажется, что я не могу вставить реактивные значения в реактивные значения ... любое решение?

1 Ответ

0 голосов
/ 26 февраля 2019

Разве Наблюдение не запускается при запуске приложения?

Как насчет:

rv <- reactiveValues(i = 0)

observeEvent(input$valstart,{
    rv$i <- input$valstart
  })
...