2016-05-07 10 views
0

Ich bin nicht vertraut mit der Arbeit an Shiny, aber ich möchte eine Anwendung erstellen, in der ich den Benutzer bitten, eine Zahl in ein Textfeld einzugeben und dann Drop-Downs entsprechend anzuzeigen. Die Artikel in allen Dropdown-Menüs sind identisch. Zum Beispiel, ich lese Wert aus einer CSV-DateiAnzeigen von Dropdowns dynamisch in glänzend

Name Designation Gender 
    Tom  CEO   M 
    JIM  CSO   M 
    RACHEL SECRETARY F 
    ARYA SECRETARY M 

Wenn ich 12 in meinem Textfeld eingeben, soll ich 12 Tropfen downs bekomme mit jedem Tropfen nach unten mit 3 Elementen (die unterschiedlichen Bezeichnungen), dh CEO, CSO und SEKRETÄR. Ich möchte diese 12 Auswahlen weiter verwenden, also möchte ich sie wenn möglich speichern. Wenn dies in glänzend machbar ist, poste bitte den Server.R und ui.R Code. Vielen Dank.

+0

Ich denke, was hilfreich wäre, wenn Sie tatsächlich eine kleine Arbeits app gebaut und Post für weitere Hilfe. – Gopala

Antwort

2

Ich basierte den Code unten auf diesem answer. Ich denke, es tut, was du verlangst. Speichern Sie es einfach als app.R in RStudio und Sie können es über die Symbolleiste oben starten. Ein guter Anfang, wenn Sie in Shiny über dynamische UI-Elemente lernen, finden Sie here.

library(shiny) 

server <- function(input, output) { 
    output$input_ui <- renderUI({ 
    num <- as.integer(input$num) 

    lapply(1:num, function(i) { 
     selectInput(paste0("n_input_", i), label = paste0("n_input", i), 
        choices = list("CEO" = 1, "CSO" = 2, "SECRETARY" = 3), 
        selected = 1) 
    }) 
    }) 

    output$table <- renderTable({ 
    num <- as.integer(input$num) 

    data.frame(lapply(1:num, function(i) { 
     input[[paste0("n_input_", i)]] 
    })) 
    }) 

} 

ui <- fluidPage(
    sidebarLayout(
    sidebarPanel(
     numericInput("num", label = h3("Numeric input"), value = 1) 
    ), 
    mainPanel(
     uiOutput("input_ui"), 
     tableOutput("table") 
    ) 
) 
) 

shinyApp(ui = ui, server = server) 

Wie unter dem Ausgang im Screenshot zu sehen ist derzeit numerische mit:

"CEO" = 1 
"CSO" = 2 
"SECRETARY" = 3 

Screenshot of Shiny App

+0

Ich habe gerade meine erste glänzende App gehostet. Der Link und der Code waren hilfreich. vielen, vielen Dank. – Abhi