简体   繁体   中英

How to get vector of options from server.R to ui.R for selectInput in Shiny R App

My ui.R file has a selectInput like this:

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

where camps is supposed to be a vector of options. This vector depends on a sql query that runs on the server script and returns the IDs of the camps:

server.R

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

When I run the App the ui.R does not know what "camps" is because it is only created in the server.R file. How can I pass the vector of camps created in the server.R file to the ui.R file so that they are now the options to choose from in the selectInput selector?

You need to create an input object in server.R, and return it to ui.R as part of the output list:

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")

Easier way: Worked for me with barPlot() function. names(dataframe_name[colm]) ,

where in my case colm was colm <- as.numeric(input$parameters)

and I was getting parameters from ui.r, where parameters was

selectInput("parameters", label = "1. Select the variable from the UFO dataset", choices = c("Shape" = 7, "Country" = 4, "AM/PM" = 3, "State" = 6))

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM