2017-08-21 2 views
1

Ich habe eine Reihe von gruppierten Kontrollkästchen in einem Shinydashboard-Seitenteil, das verwendet wird, um Daten zu unterteilen. Für alle Gruppen der Gruppe bar ist ein ausgewähltes Kontrollkästchen aktiviert. Die letzte Gruppe hat nur eine Option und die Standardeinstellung ist deaktiviert. Es zeigt auf eine binäre Variable (0, 1) auf dem Datensatz. Wenn diese Option nicht aktiviert ist, sollte kein Filter angewendet werden, und wenn es aktiviert ist, wird der Wert 1 untergeordnet.R Shiny checkboxGruppenfilter, wenn nicht markiert

Bisher habe ich dies in ui

checkboxGroupInput("patFilt", 
        label = h5("Filter by patient cohort"), 
        choices = c("Patient cohort" = 1), 
        selected = 0, 
        width = "100%") 

und in meinem server.R Ich habe

subsetArg <- reactive(list(
    input$group1, 
    input$group2, 
    input$group3, 
    etc., 
    ifelse(is.null(input$patFilt), c(0, 1), 1) 
)) 

Subsetting in einer Funktion erfolgt mit subsetArg die Argumente übergeben.

Für dieses einzelne Kontrollkästchen gibt die Standardoption jedoch nur die mit 0 markierten Beobachtungen zurück, bis das Kästchen aktiviert ist, dann gibt es die mit 1 markierten Beobachtungen korrekt zurück. Interessant, wenn ich c (0, 1) zu c (1,0) ändere Die Option "unchecked" gibt die mit 1 markierten Beobachtungen zurück. So gibt subsetArg nur den ersten Wert im Vektor zurück.

Ich habe das funktioniert, wenn es zwei Kontrollkästchen mit beiden als Standard ausgewählt ist, aber ich kann nicht das einzige Kontrollkästchen funktionieren, wenn nicht aktiviert.

Wie bekomme ich es, dass wenn das Kontrollkästchen deaktiviert ist alle Beobachtungen zurückgegeben werden?

Dank

Antwort

0

Gelöst

mit if (is.null (Eingang $ patFilt)) c (0,1) sonst 1

Sie wissen nicht, warum ifelse() nicht funktioniert .