Shiny R рендеринг участков на лету

Я пытаюсь динамически визуализировать несколько графиков на вкладке (лучше, если это можно сделать на нескольких вкладках). После некоторых поисков я нашел этосообщение очень полезно Но в моем случае количество участков определяется загруженным CSV-файлом. Поэтому я думаю, что вопрос в том, как позвонитьplotInput()$n_plot в цикле? Я ценю любые предложения!

На данный момент я могу создавать кратные<div>s позвонив по телефонуrenderUI.

<div id="plot1" class="shiny-plot-output" style="width: 800px ; height: 800px"></div>
<div id="plot2" class="shiny-plot-output" style="width: 800px ; height: 800px"></div> 

Но я не мог правильно назвать реактивную функцию вfor (i in 1:plotInput()$n_plot) петля. Сообщение об ошибке:

Error in .getReactiveEnvironment()$currentContext() : 
  Operation not allowed without an active reactive context.
Server.R
  shinyServer(function(input, output) {

   ### This is the function to break the whole data into different blocks for each page
   plotInput <- reactive({
    get_the_data()
    return (list("n_plot"=n_plot, "total_data"=total_data))
  })

    ##### Create divs######
    output$plots <- renderUI({
      plot_output_list <- lapply(1:plotInput()$n_plot, function(i) {
         plotname <- paste("plot", i, sep="")
         plotOutput(plotname, height = 280, width = 250)
       })   
       do.call(tagList, plot_output_list)
    })

    # Call renderPlot for each one. 
    ####This is the place caused the error##
    for (i in 1:plotInput()$n_plot) {
        local({
            my_i <- i
            plotname <- paste("plot", my_i, sep="")   
            output[[plotname]] <- renderPlot({
                hist(plotInput()$total_data[i])
            })
        })
    }
    })
Обновить

Если я заверну цикл внутриreactive функция и вызвать его как частьrenderUI, цикл работает, но сюжет отсутствует, я думаю, это потому, чтоrenderUI только создавать HTML-теги, он не будет назначать изображения для сгенерированных тегов.

    output$plots <- renderUI({
      plot_output_list <- lapply(1:plotInput()$n_plot, function(i) {
         plotname <- paste("plot", i, sep="")
         plotOutput(plotname, height = 280, width = 250)
       })   
       do.call(tagList, plot_output_list)
       plot_concent()
    })

    # Call renderPlot for each one. 
    ####This is the place caused the error##
    plot_concent<-reactive({
      for (i in 1:plotInput()$n_plot) {
        local({
            my_i <- i
            plotname <- paste("plot", my_i, sep="")   
            output[[plotname]] <- renderPlot({
                hist(plotInput()$total_data[i])
            })
        })
      }
    })

Ответы на вопрос(2)

Ваш ответ на вопрос