0
我想在flexdashboard文檔中使用Shiny做出反應selectInput。創建反應selectInput - 與閃亮的flexdashboard
我的第一個
selectInput
選擇海洋公園的區域類型。selectInput("Zone", label = "Marine Park Zoning:", choices = c("All", levels(EoTR$MarineParkZone)), selected = "All")
然後我使用該輸入來創建與僅在步驟中選擇的區域1.
zone.choices = reactive({ if (input$Zone=="All"){ select(EoTR, ReefName, MarineParkZone, MarineParkMgmtSection) }else{ select(EoTR, ReefName, MarineParkZone, MarineParkMgmtSection)%>% filter(MarineParkZone==input$Zone)} })
然後我嘗試使用該反應性的數據幀,以限定我的選擇用於反應數據幀接下來
selectInput
reactive({ selectInput("Reef", label = "Priority Reef:", choices = zone.choices()$ReefName, selected = "Arlington Reef (16-064)") })
當我運行該文件我本身cond輸入會顯示一堆代碼而不是選擇菜單,因此所有基於該選擇器的進程都會失敗。
下面是一些代碼,將重現該問題
---
title: "Untitled"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
runtime: shiny
---
```{r}
library(flexdashboard)
library(dplyr)
EoTR = data.frame(ReefName=c("Reef1", "Reef2", "Reef3", "Reef4"),
MarineParkZone=c("Fished", "Fished", "Un-Fished", "Un-Fished"))
selectInput("Zone", label = "Marine Park Zoning:",
choices = c("All", levels(EoTR$MarineParkZone)), selected = "All")
zone.choices = reactive({
if (input$Zone=="All"){
select(EoTR, ReefName, MarineParkZone)
}else{
select(EoTR, ReefName, MarineParkZone)%>%
filter(MarineParkZone==input$Zone)}
})
reactive({
selectInput("Reef", label = "Priority Reef:",
choices = zone.choices()$ReefName, selected = "Reef1")
})
```
我知道這可能與我如何定義我的反應輸入一些愚蠢的,但我真的很感激有這方面的幫助。
乾杯,
山姆