如何在SelectInpute中获得选择列表?
用户界面
selectInput(inputId = "select_gender",
label = "Gender",
choices = c("Male","Female"),
width = 150
)
Run Code Online (Sandbox Code Playgroud)
服务器
# Something like...
genders <- input$select_gender["choices"]
# So that the gender would be:
> genders
[1] Male Female
Run Code Online (Sandbox Code Playgroud)
根据Shiny 的范围规则:
中定义的对象与服务器函数定义之外
global.R定义的对象类似app.R,但有一个重要区别:它们对于 ui 对象中的代码也是可见的。这是因为它们被加载到 R 会话的全局环境中;Shiny 应用程序中的所有 R 代码都在全局环境或其子环境中运行。
然而,这并不意味着定义app.R在UI和服务器端的对象不能同时使用,它们只是属于不同的环境。
例如:
library("shiny")
library("pryr")
# or in global.R
genders <- c("Male", "Female")
gen_env <- where("genders")
par_env <- parent.env(gen_env)
ui <- fluidPage(
selectInput("shiny_gender", "Select Gender", choices = genders),
verbatimTextOutput("selected_gender_index"),
p("The `genders` object belongs to the environment:"),
verbatimTextOutput("gen_env_print"),
p("Which is the child of the environment:"),
verbatimTextOutput("par_env_print")
)
server <- function(input, output) {
output$selected_gender_index <- renderPrint({
# use the 'genders' vector on the server side as well
which(genders %in% input$shiny_gender)
})
output$gen_env_print <- renderPrint(gen_env)
output$par_env_print <- renderPrint(par_env)
}
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3558 次 |
| 最近记录: |