2014-09-02 14 views
5

Ich versuche, eine App zu erstellen. Die Benutzeroberfläche UI.R sieht gut aus, aber ich habe Probleme mit server.R. Grundsätzlich möchte ich eine andere Plot-Ausgabe abhängig davon, welche radio Option der Benutzer auswählt. Der Benutzer kann die Option A, B oder C wählen. Ich möchte ein Histogramm zeichnen, wenn der Benutzer die Option A, das Balkendiagramm für B und ein Kreisdiagramm für die Option C auswählt, aber ich weiß nicht, wie ich die Bedingung codieren soll? Ist es wie eine if-else Aussage? Ich kämpfe seit Stunden! Hier ist mein Codebeispiel:Erstellen Sie Diagramme basierend auf Radio Button Auswahl R Shiny

output$plots <- renderPlot({  
    if selection == 'A' 
     # plot histogram 
    if selection == 'B' 
     # plot bar chart 
    if selection == 'C' 
     # plot pie chart 
}) 

Vielen Dank!

Antwort

14

Sie benutzen, um das Verhalten zu bestimmen, bei der Auswahl zugrunde:

library(shiny) 
myData <- runif(100) 
plotType <- function(x, type) { 
    switch(type, 
     A = hist(x), 
     B = barplot(x), 
     C = pie(x)) 
} 
runApp(list(
    ui = bootstrapPage(
    radioButtons("pType", "Choose plot type:", 
       list("A", "B", "C")), 
    plotOutput('plot') 
), 
    server = function(input, output) { 
    output$plot <- renderPlot({ 
     plotType(myData, input$pType) 
    }) 
    } 
)) 
+0

perfekt! Du hast gerade mein Leben gerettet Danke! – maryam

+0

Gerne helfen .. – jdharrison

Verwandte Themen