Я строю приложение flex dashboard
/shiny
с datatable
и пытаюсь построить в два входа в качестве выбора для этого datatable
с выбором «Все» для каждого выбора. Первый вопрос: как я могу ограничить второй выбор "user"
по выбору первого выбора "team"
?Как я могу создать несколько входов в моем блестящем приложении с обновлением и множественным выбором?
Затем, используя эти входы, я хотел бы подмножить свои данные в любой комбинации двух вариантов ex. Team Все, пользователь «Darwin D» будет возвращать одну DataTable строку с его именем, команды и другие показатели, которые будут добавлены и т.д.
Все код для гибкого уценки документа ниже:
---
title: "example"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
runtime: shiny
---
```{r setup, include=FALSE}
library(shiny)
library(shinydashboard)
library(flexdashboard)
library(magrittr)
library(feather)
library(anytime)
library(data.table)
library(DT)
library(datasets)
Name <- c("Allan A","Barbara B","Charles C","Darwin D","Evelyn E","Frank F","Greg G","Hans H")
Team <- c(1,2,3,3,2,1,2,2)
users <- data.frame(Name,Team)
remove(Name,Team)
```
Inputs {.sidebar}
=======================================================================
### Input Variables
```{r global_input}
# input variable to call selection, name of field, selections/options variable
dateRangeInput('dateRange',
label = 'Date range input: yyyy-mm-dd',
start = Sys.Date() - 8,
end = Sys.Date() - 1,
min = "2013-01-01",
max = Sys.Date() -1
)
selectInput("teaminput","Team", c("All",unique(users$Team)))
observe({
if(input$teaminput == "All") {
subDT <- copy(users)
} else {
subDT <- users[ users$Team == input$teaminput, ]
}
updateSelectInput(
"userinput",
label = "User Name",
choices = c("All", unique(subDT$Name))
)
})
```
### Intake Coordinator KPIs
```{r daily_table}
# reactive data object based on inputs above
daily_dt <- reactive({
if(input$teaminput == "All"){
subDT
} else{
subset(subDT$Team == input$teaminput)
}
})
# render DT datatable object with sorts/search
renderDataTable(daily_dt())
```
Добавлен полный пример кода. – gscott