R 闪亮:基于所选级别有条件地更新SelectizeInput

R 闪亮:基于所选级别有条件地更新SelectizeInput,r,shiny,R,Shiny,我想使用基于条件输入的选定值s_l更新selectizeInput。c_l_check=='y' 但是,它正在使用输入$s_l而不是其值进行更新。它应该是: updateSelectizeInputsession,'c_l',choices=input$s_l,server=TRUE 也就是说,输入$s_l应该不带引号 编辑: 以下是一个工作示例: data <- data.frame(D = iris$Species) ShinyUi <- fluidPage( sideba

我想使用基于条件输入的选定值s_l更新selectizeInput。c_l_check=='y'

但是,它正在使用输入$s_l而不是其值进行更新。

它应该是: updateSelectizeInputsession,'c_l',choices=input$s_l,server=TRUE

也就是说,输入$s_l应该不带引号

编辑:

以下是一个工作示例:

data <- data.frame(D = iris$Species)

ShinyUi <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      checkboxGroupInput('s_l', 'D to show:', levels(data$D), selected = levels(data$D)),

      radioButtons("c_l_check", "D to colour:", list("Yes"='y', "No"='n'), selected = 'n'),

      conditionalPanel( condition = "input.c_l_check=='y'",
                        selectizeInput( inputId = "c_l", label = "D to color:", multiple  = T, choices = NULL))


    ),
    mainPanel()
    ))

  ShinyServer <- function(input, output, session) {
    observe({
      # Updating selectize input
      updateSelectizeInput(session, 'c_l', choices = input$s_l, server = TRUE) 
    })


  }

  # Run the application 
  shinyApp(ui = ShinyUi, server = ShinyServer)
它给出的是s_l的值,而不是levelsdata$D。如果您已经有了它的工作示例,请您指给我看。观察是解决方案的关键。成功了,谢谢!在场边,你能看一下它是否有责任吗?
data <- data.frame(D = iris$Species)

ShinyUi <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      checkboxGroupInput('s_l', 'D to show:', levels(data$D), selected = levels(data$D)),

      radioButtons("c_l_check", "D to colour:", list("Yes"='y', "No"='n'), selected = 'n'),

      conditionalPanel( condition = "input.c_l_check=='y'",
                        selectizeInput( inputId = "c_l", label = "D to color:", multiple  = T, choices = NULL))


    ),
    mainPanel()
    ))

  ShinyServer <- function(input, output, session) {
    observe({
      # Updating selectize input
      updateSelectizeInput(session, 'c_l', choices = input$s_l, server = TRUE) 
    })


  }

  # Run the application 
  shinyApp(ui = ShinyUi, server = ShinyServer)