【发布时间】:2020-08-26 17:12:36
【问题描述】:
我正在构建一个闪亮的应用程序来跟踪鲑鱼产卵运行。我已经构建了适用于当前正在运行的某些物种的应用程序,但是我的外部查询的设置方式,它无法构建表格和图表,除非在 2020 年收集到一条鱼。对于这些尚未开始运行的物种,我想展示去年的表格和图表。 Shiny 有没有办法让条件面板引用 sysDate() 或者更好的是原始 r 代码,以便它可以正确确定是绘制 2020 年数据还是 2019 年数据?
举个例子。 Coho 直到 8 月才开始运行,它们的运行一直持续到下一个 2 月。如果最终用户在这几个月之间查看应用程序,我希望它显示当前的每日数据。但是,如果最终用户在这几个月之外查看应用程序,我希望它显示去年的数据,并显示“2020 年运行尚未开始”。
ui <- tabsetPanel(id="species",
tabPanel(id = "co", title = "Coho",
selectInput("coho_origin_select",label = h3("Select origin"),
choices = list("Hatchery", "Wild"),
selected = "Hatchery"),
fluidRow(
column(4, offset = 1, plotOutput("co_curvePlot2020")),
column(4, offset = 1, plotOutput("co_dailyPlot2020"))),
formattableOutput("co_table2020"))
server <- function(input, output) {
output$co_dailyPlot2020 <- renderPlot({
if(input$co_origin_select =="Hatchery") {print(co_daily_plot_AD2020)}
if(input$co_origin_select =="Wild") {print(co_daily_plot_UM2020)}
})
output$co_curvePlot2020 <- renderPlot({
if(input$co_origin_select =="Hatchery") {print(co__ad_plot2020)}
if(input$co_origin_select =="Wild") {print(co__um_plot2020)}
})
output$co_table2020 <- renderFormattable({
if(input$co_origin_select =="Hatchery") ({formattable(co_table_ad2020)})
else if(input$co_origin_select =="Wild") ({formattable(co_table_um2020)})
})
理想情况下,如果用户在 2020 年 8 月至 2021 年 2 月之间查看应用程序,最终服务器端将输出 co_dailyPlot2020、co_curvePlot2020 和 co_table2020,如果他们在 2020 年 8 月之前查看它,则会打印 co_dailyPlot2019、co_curvePlot2019 和 co_table2019。
【问题讨论】:
-
是的,你可以这样做。如果您可以提供一些可以修改的闪亮应用程序代码,我相信您会在遇到特定问题时寻求帮助。
-
@cory 我认为这应该足以提出一些建议。