2014-04-21 4 views
24

Meine ui.R Datei hat eine selectInput wie folgt aus:Wie Vektor von Optionen server.R zu ui.R für selectInput in Shiny R App bekommen

selectInput("variable1", "Choose Option:", camps) 

wo camps soll ein Vektor sein Optionen. Dieser Vektor hängt von einer SQL-Abfrage, die auf dem Server Skript ausgeführt und gibt die IDs des Lagers:

server.R

df1 <- getCamps("date") 
camps <- unique(df1$idCamps) 

Wenn ich die App die ui.R laufe nicht wissen, was „Lager "ist, weil es nur in der server.R-Datei erstellt wird. Wie kann ich den Vektor der Lager, die in der Datei server.R erstellt wurden, an die Datei ui.R übergeben, so dass sie jetzt die Optionen sind, aus denen man im selectInput Selektor auswählen kann?

Antwort

26

Sie benötigen ein Eingabeobjekt in server.R erstellen und senden es an ui.R als Teil der output Liste:

In server.R:

df1 <- getCamps("date") 
camps <- unique(df1$idCamps) 
output$campSelector <- renderUI({ 
    selectInput("variable1", "Choose Option:", as.list(camps)) 
}) 

In ui.R :

uiOutput("campSelector") 
+0

Ausgezeichnet, danke! – Cybernetic

+0

Ich bekomme '' 'Unerwartete Zeichenausgabe für userTypes''' wobei userTypes is ein Zeichenvektor ist, der in as.list() pro Antwort verschachtelt ist –

Verwandte Themen