我正在使用shiny和flexdashboard编写一个交互式文档,并希望从向量(或列)中选择值作为输入,以筛选数据集。考虑下面的例子:
---
title: "Example"
runtime: shiny
theme: simplex
vertical_layout: fill
output:
  flexdashboard::flex_dashboard:
  orientation: rows
---
```{r setup, include=FALSE}图书馆(闪亮)
图书馆(Tidyverse)
图书馆(DT)
Sidebar {.sidebar}
======================
### Filtering options
```{r echo = FALSE}selectInput("ncyl“
    label = "Value of cyl:",    choices = mtcars %>% .$cyl %>% unique %>% sort,    selected = 20)Explore
======================
Row
----------------------
### Table
```{r echo = FALSE}DT::renderDataTable({
mtcars %>%
dplyr::filter(cyl==input$ncyl) %>% dplyr::select(cyl, disp) %>% dplyr::arrange(-disp) %>% DT::datatable(options = list(  pageLength = 10,  bPaginate = TRUE,  scrollX = TRUE,  sScrollY = '75vh',  scrollCollapse = TRUE),  extensions = list("Scroller"))})在本例中,选项卡允许从列cyl的三个可能值中选择一个来筛选数据集。
我想用一些按钮来代替它,在这里我可以选择其中的许多值来选择(例如。在这种情况下,将有三个按钮,用于值4、6和8),因此这些值的所有或部分用于筛选,但不一定只有一个。这将用于可能具有大量值的列,因此为此可能需要一个滚动条。
有可能用柔性仪表板实现这一点吗?到目前为止,我还没有在拉马克画廊中找到这方面的例子。
发布于 2019-04-04 15:22:22
您可以编辑下拉框的设置,以允许多个选择。
selectInput("ncyl",
        label = "Value of cyl:",
        choices = mtcars %>% .$cyl %>% unique %>% sort,
        multiple = T)您还需要根据您的选择现在是列表而不是值这一事实来编辑服务器代码。
mtcars %>%
    dplyr::filter(cyl%in%input$ncyl) %>% https://stackoverflow.com/questions/55519368
复制相似问题