将dplyr子表检测为函数而不是表

时间:2019-02-11 10:41:44

标签: r shiny dplyr shinydashboard

我正在构建一个闪亮的应用程序,并且想要在仪表板的主页中显示一些指标。

我有一个包含产品的表,列为:row_names(作为ID使用),name(产品名称)。

在代码的某些部分中,我在反应式函数中进行了dplyr查询,在该函数中,我想通过用户在我的应用程序侧栏上的向下滚动菜单上选择的产品来过滤表格。我可以执行此下拉菜单,但是当我查询并运行应用程序时,它说:错误:找不到函数'res',我不明白,因为res应该将表过滤为不是函数。

我可以根据需要提供UI部分,但我认为可以

# Use purrr's split() and map() function to create the list
# needed to display the name of the product but pass its
# row_name code as the value
products_list <- products %>%

  collect() %>%

  split(.$name) %>%

  map(~ .$row_names)

# UI part here but I think its not relevant  

server <- function(input, output, session) {

  tab_list <- NULL

  base_products <- reactive({

    res <- products %>%

      filter(row_names == input$product) %>%

    res

  })

output$total_products <- renderValueBox({

    # The following code runs inside the database.

    # pull() bring the results into R, which then

    # it's piped directly to a valueBox()

    base_products() %>%

      tally() %>%

      pull() %>%

      as.integer() %>%

      valueBox(subtitle = "Number of Products")

  })

主要灵感来自此链接: https://db.rstudio.com/best-practices/dashboards/

0 个答案:

没有答案