Shiny: Dynamische Anzahl von Ausgabeelementen / Plots

Ich möchte eine reaktive Anzeige machen, dass zeigt eine unterschiedliche Anzahl von Plots an, abhängig davon, welcher Wert des Eingabeselektors gewählt wurde. Im Fall des mtcars-Datensatzes möchte ich den Benutzer zwischen dem Schneiden nach Nr. Wählen lassen. von Zahnrädern oder Nr. von Carburatos für die Parzellen produziert werden.

Anschauenunique(mtcars$gear) wir sehen es hat4 3 5 so 3 mögliche Werte, währendunique(mtcars$carb) hat4 1 2 3 6 8 also 6 mögliche Werte. Ich möchte daher 6 separate Parzellen erstellen, wennNr. of Carburators ist ausgewählt und nur 3 Diagramme, wennNr. of Gears ist ausgewählt. Ich habe mit @ gespieconditionalPanel aber es bläst immer auf, nachdem ich ein- oder zweimal zwischen den Selektoren gewechselt habe. Hilfe

Shiny UI:

library(shiny)
library(googleVis)

shinyUI(bootstrapPage(
    selectInput(inputId = "choosevar",
              label = "Choose Cut Variable:",
              choices = c("Nr. of Gears"="gear",
                          "Nr. of Carburators"="carb")),
    htmlOutput('mydisplay')  ##Obviously I'll want more than one of these... 
#   conditionalPanel(...)
  ))

Shiny Server:

shinyServer(function(input, output) {
   #Toy output example for one out of 3 unique gear values:
    output$mydisplay <- renderGvis({
    gvisColumnChart(    
    mtcars[mtcars$gear==4,], xvar='hp', yvar='mpg' 
    )
  })  
})

Antworten auf die Frage(4)

Ihre Antwort auf die Frage