Ich suche nach einer Möglichkeit für Benutzer, Daten auf der Basis von eingegebenen Werten mehrerer Variablen, wie Name und Alter, zu unterteilen, aber sobald eine Wahl in einer Eingabe getroffen wurde Andere Dropdown-Listen sollten reaktiv sein und nur Auswahlmöglichkeiten bieten, die der bereits gewählten Eingabe entsprechen. Ich lasse es von "Name" zu "Alter" gehen, aber ich möchte auch, dass es in die andere Richtung geht, wenn "Alter" zuerst gewählt wird. Ich habe meinen Code unten gepostet.R Glänzend. Wie man Selectinput Auswahlen reaktiv miteinander macht, während ich Daten unterwerfe
l <- NULL;
l$name <- c('b','e','d','b','b','d','e')
l$age <- c(20,20,21,21,20,22,22)
l <- as.data.frame(l)
l <- as_data_frame(l)
l$name <- as.character(l$name)
server <- shinyServer(function(input,output){
assign('All Names',unique(sort(l$name)))
assign("All Ages", unique(sort(l$age)))
data1 <- reactive(l[which(l$name %in% if(exists(input$name))
{get(input$name)}else{input$name}),])
output$Box1 = renderUI(
if(is.null(input$name) || input$name == "All Names"){
selectInput("name", "Choose Name", choices=c(c("All Names"),
unique(sort(l$name))))
}else{selectInput("name", "Choose Name", choices=c(input$name,c("All
Names")))}
)
output$Box2 = renderUI(
if(is.null(input$age) || input$age == "All Ages"){
selectInput("age", "Choose Age", choices=c("All Ages",
unique(sort(data1()$age))))
}else{ selectInput("age", "Choose Age", choices=c(input$age, "All Ages"))}
)
output$table1 <- renderTable(data1())
output$text1 <- renderPrint(input$name)
data2 <- reactive(data1()[which(data1()$age %in% if(exists(input$age))
{get(input$age)}else{input$age}),])
output$table2 <- renderTable(data2())
})
ui <-shinyUI(fluidPage(
uiOutput("Box1"),
uiOutput("Box2")
,tableOutput("table1"),
textOutput("text1"),
tableOutput("table2")
))
shinyApp(ui,server)
Zum Beispiel, wenn der Benutzer für den Namen „b“ wählt, nur „20“ und „21“ als „Alter“ Entscheidungen zeigen, aber dann einmal einer jenes Alter angeklickt wird, würde Ich mag die Auswahlmöglichkeiten im Dropdown-Menü "Name", um zu reagieren und nur Optionen mit dem gewählten Alter anzuzeigen.
Alle Vorschläge würden wirklich geschätzt werden!
https://stackoverflow.com/questions/44570404/updating-filters-in-shiny-app Das gleiche Problem, als Sie –