来自2个selectinputs的数据表

时间:2019-02-10 02:06:34

标签: r shiny shinydashboard

刚刚开始学习R&Shiny,我正在尝试构建一个页面,该页面将包含2个输入,然后显示匹配的数据。我有一个数据框,其中有10列,其中包括“ year”和“ name..35”,这些列是我为其创建选择输入框的。但是,我无法加载表。

想法是,用户将首先选择一个年份,然后选择名称..35 ..,包含这两个值的行将弹出为表格。

到目前为止,这是我的代码(我从这里尝试了一堆答案,没有运气)。我希望得到一些指导

服务器

  output$race_standings_table = DT::renderDataTable({
    standings %>%
      filter(., round == standings$year)
    standings %>%
      filter(., race_name == standings$name..35)


  })          

ui

tabItem(tabName = "standings", 
              h2("This is the standings table page"),
              fluidPage(
                h1("Table test", align = "center"),
                # DT::dataTableOutput("race_standings"),
                fluidRow(
                  column(2, selectInput("round", "Select a Round:", choices = sort(unique(standings$year)), selected = NULL, multiple = FALSE)),
                  column(4, selectInput("race_name", "Select a Grand Prix", choices = sort(unique(standings$name..35)), selected = NULL, multiple = FALSE)),
                  dataTableOutput("race_standings_table"))

1 个答案:

答案 0 :(得分:1)

您的方法正确,您需要在ui部分中创建一个数据表UI,并在服务器函数中呈现数据表。但是,为了使用输入值(例如选择,数字,日期等),您需要在闪亮应用的服务器端使用 input $ input_id 标记。

在您的情况下,您有两个输入ID:回合种族表

因此您的服务器部分必须为:

componentDidMount()

具有出色的闪亮编码:)