在R中访问动态id

在R中访问动态id,r,dynamic,shiny,shinydashboard,R,Dynamic,Shiny,Shinydashboard,这是对我前面问题的延伸 下面是我现在正在使用的闪亮代码 library(shiny) library(shinydashboard) ui <- fluidPage( br(), selectInput("inpt", "Input Number", seq(1,50), selectize = FALSE), br(), uiOutput("selectors") ) server <- function(input, output, session){

这是对我前面问题的延伸

下面是我现在正在使用的闪亮代码

library(shiny)
library(shinydashboard)

ui <- fluidPage(
  br(),
  selectInput("inpt", "Input Number", seq(1,50), selectize = FALSE),
  br(),
  uiOutput("selectors")
)

server <- function(input, output, session){

  output[["selectors"]] <- renderUI({
    n <- input[["inpt"]]
    selectors <- lapply(1:n, function(i){
      selectInput(paste0("id",i), "Select number", seq(1,24), selected = 1)
    })
    do.call(function(...){
      box(..., width = 2, status = "primary")
    }, selectors)
  })

}

shinyApp(ui, server)
但这方面的产出是:

NULL
NULL
NULL
我认为我的eval和parse方法是错误的,所以我尝试了justinpt

输出为(在选择输入中选择了3个)

所以我的评估,解析方法是正确的。
那么如何访问上述示例中的id1、id2、…、idn?

请检查以下内容:

library(shiny)
library(shinydashboard)

ui <- fluidPage(
  br(),
  selectInput("inpt", "Input Number", seq(1,50), selectize = FALSE),
  br(),
  uiOutput("selectors"),
  uiOutput("printMyDynamicInputs"),
  uiOutput("printMyFirstDynamicInput")
)

server <- function(input, output, session){

  output[["selectors"]] <- renderUI({
    n <- input[["inpt"]]
    selectors <- lapply(1:n, function(i){
      selectInput(paste0("id",i), "Select number", seq(1,24), selected = 1)
    })
    do.call(function(...){
      box(..., width = 2, status = "primary")
    }, selectors)
  })

  myDynamicInputs <- reactive({
    lapply(1:input$inpt, function(i){
      input[[paste0("id",i)]]
    })
  })

  output$printMyDynamicInput <- renderUI({
    paste("You selected:", paste(myDynamicInputs(), collapse = ", "))
  })

  output$printMyFirstDynamicInputs <- renderUI({
    paste("You selected:", input$id1)
  })

}

shinyApp(ui, server)
库(闪亮)
图书馆(shinydashboard)

我想这可能就是你们想要的写答案的好方法。谢谢但是,我想单独访问所有ID。我该怎么做?就像任何其他输入一样,例如
input[[“id1”]
input$id1
,只是更新了答案。
for (j in 1:inpt){ 
    print(eval(parse(text = paste0("input$", paste0("in","pt")))))
}
3
3
3
library(shiny)
library(shinydashboard)

ui <- fluidPage(
  br(),
  selectInput("inpt", "Input Number", seq(1,50), selectize = FALSE),
  br(),
  uiOutput("selectors"),
  uiOutput("printMyDynamicInputs"),
  uiOutput("printMyFirstDynamicInput")
)

server <- function(input, output, session){

  output[["selectors"]] <- renderUI({
    n <- input[["inpt"]]
    selectors <- lapply(1:n, function(i){
      selectInput(paste0("id",i), "Select number", seq(1,24), selected = 1)
    })
    do.call(function(...){
      box(..., width = 2, status = "primary")
    }, selectors)
  })

  myDynamicInputs <- reactive({
    lapply(1:input$inpt, function(i){
      input[[paste0("id",i)]]
    })
  })

  output$printMyDynamicInput <- renderUI({
    paste("You selected:", paste(myDynamicInputs(), collapse = ", "))
  })

  output$printMyFirstDynamicInputs <- renderUI({
    paste("You selected:", input$id1)
  })

}

shinyApp(ui, server)