Блестящее имя нескольких ползунков

#r #shiny

#r #блестящий

Вопрос:

У меня большой и сложный код.

Я создал uiOutput («ползунки») в пользовательском интерфейсе, чтобы иметь несколько ползунков (в зависимости от количества столбцов набора данных, которые я могу загрузить). На сервере у меня есть следующий код:

 output$sliders <- renderUI({
    pvars <- file_col()/2-1
    myList<-list()
    lapply(seq(pvars), function(i) {
    
        sliderInput(inputId = paste0("Shiftindex", i),label = ("Shift index")
                    ,min = 0, max = 1,value= 0,step = 0.1)
    }
    )

  })
  

Я хочу снова использовать значение каждого sliderInput на сервере, чтобы вычислить что-то еще.
Мой вопрос в том, как я могу поместить имена в ползунки, чтобы иметь возможность снова использовать их значения на сервере, и как я должен их вызывать??

Комментарии:

1. Вы можете получить доступ к их значениям на стороне сервера input[[paste0("Shiftindex", 1)]] , например. Вы могли бы сделать что-то вроде следующего: r output$text <- renderText({ pvars <- file_col()/2-1 slider_inputs <- paste0("Shiftindex", seq(pvars)) values <- purrr::map_dbl(slider_inputs, function(x) input[[x]]) paste(values, collapse = ", ") }) просто дайте мне знать, если вам нужна дополнительная помощь 🙂

2. @TomasCapretto, пожалуйста, оставьте свой комментарий в качестве ответа, поскольку это может помочь другим, ищущим аналогичное решение.

Ответ №1:

Вы можете получить доступ к их значениям на стороне сервера input[[paste0("Shiftindex", 1)]] , например.

Вы могли бы сделать что-то вроде следующего:

 output$text <- renderText({
  pvars <- file_col()/2-1   
  slider_inputs <- paste0("Shiftindex", seq(pvars))   
  values <- purrr::map_dbl(slider_inputs, function(x) input[[x]])   
  paste(values, collapse = ", ") 
})
  

Просто дайте мне знать, если вам нужна дополнительная помощь 🙂

Комментарии:

1. Большое вам спасибо. Моя проблема также в том, что я хочу использовать значения каждого ползунка на сервере. data1 <- reactive({for (i in 1:(ncol(data())/2-1)){ d $t[[i]] <-d $ t[[i]] output.text (здесь я хочу, чтобы значение выбиралось из каждого ползунка) return(d)}. Есть идеи??

2. Я только что показал, как использовать их в тексте, но вы можете использовать их в вычислениях или во всем, что захотите. Не могли бы вы дать мне больше информации о том, что вы пытаетесь сделать?

3. Я думаю, что я не очень хорошо объяснил себя. У меня есть uiOutput с renderUI на сервере.

4. Этот renderUI создает много ползунков (в зависимости от столбцов загруженного файла). Итак, я хочу взять эти значения и вычислить новое число (новое число — это предыдущее плюс значение ползунка).