Я пишу интерактивный документ с shiny
и flexdashboard
и хотел бы выбрать значения из вектора (или столбца) в качестве входных данных для фильтрации набора данных.Рассмотрим пример ниже:
---
title: "Example"
runtime: shiny
theme: simplex
vertical_layout: fill
output:
flexdashboard::flex_dashboard:
orientation: rows
---
```{r setup, include=FALSE}
library(shiny)
library(tidyverse)
library(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), так что все или некоторыеиз этих значений используются для фильтрации, но не обязательно только одно.Он предназначен для столбца с потенциально большим количеством значений, поэтому для этого может потребоваться полоса прокрутки.
Возможно ли добиться этого с помощью flexdashboard?До сих пор я не смог найти пример для этого в Rmarkdown галерее .