我正在尝试创建一个应用程序,如果您在下拉菜单上选择一个选项,则会显示一个表(称为data_2022(,如果在下拉菜单中选择不同的选项,则将显示不同的表(名为roty_2022(。这是我的代码:
award_types <- c("MVP", "ROTY")
library(shiny)
ui <- pageWithSidebar(
headerPanel("NBA Awards Tracker"),
sidebarPanel(selectInput("Awards", "Choose an Award", choices = award_types, selected = "MVP")),
mainPanel(dataTableOutput("Table")
))
server <- function(input, output)
{reactive({
if(input$Awards == "MVP")
output$Table <- renderDataTable(data_2022)
if(input$Awards == "ROTY")
output$Table <- renderDataTable(roty_2022)})
}
如有任何帮助,我们将不胜感激!
您可以尝试以下操作。您可以包含一个reactive
表达式,该表达式将根据您的input$Awards
返回适当的数据。然后,对于output$Table
,您只需要一个语句即可呈现适当的数据。
server <- function(input, output) {
output$Table <- renderDataTable(my_data())
my_data <- reactive({
if(input$Awards == "MVP")
return(data_2022)
if(input$Awards == "ROTY")
return(roty_2022)
})
}