R-闪亮的更新输入选择器问题



我试图在Shiny仪表板中使用更新的电流,无济于事。我尝试过多种方法,但无法使SelectInput进行更新。数据具有一个VG和AG列,每个都有几个因素。我要做的是选择VG时,然后仅使用该VG文件的AG值进行更新:

VG  AG
A    1
A    2
B    1
B    3

这样,如果选择了VG,则AG选项将为1,3。

代码如下:

UI<-...
column(3,selectInput("VG.ETD", label = h4("VG"),choices = levels(data$VG),selected ="Y1")),
column(3,selectInput("AC.ETD", label = h4("AC"),choices = levels(data$AC), selected ="X1")),
Server<-function(input, output,session){...
df_b <- reactive({filter(data, VG== input$VG.ETD)})
observe({updateSelectInput(session, 'AC.ETD', choices=levels(droplevels(df_b()$AC)))})

这是您想要的吗?

#rm(list = ls())
library(shiny)
VG <- c("A","A","B","B")
AG <- c(1,2,1,3)
data <- data.frame(VG, AG)
ui <- fluidPage(
  column(3,selectInput("VG", label = h4("VG.ETD"),choices = levels(data$VG),selected ="Y1")),
  column(3,selectInput("AG", label = h4("AG.ETD"),choices = unique(data$AG),selected ="X1"))
)
server<-function(input,output,session){
  observeEvent(input$VG,{
    updateSelectInput(session, 'AG', choices = unique(data$AG[data$VG %in% input$VG]))
    })
}
shinyApp(ui=ui,server=server)

最新更新