簡體   English   中英

R Shiny Date范圍輸入

[英]R Shiny Date range input

我的ui中有一個日期范圍輸入函數,如下我的閃亮應用程序。

  dateRangeInput("dates", 
    "Date range",
    start = "2015-01-01", 
    end = as.character(Sys.Date()))

但是,如果用戶選擇的開始日期晚於結束日期,而不是應用程序中的錯誤,我需要彈出消息來更正用戶。 我該怎么做呢?

也可以僅允許用戶選擇比x,天更多的日期范圍。

您可以使用validate語句提供自定義錯誤消息。 這是一個簡單的例子。

library(shiny)

runApp(
  list(
    ui = fluidPage(
      dateRangeInput("dates", 
                     "Date range",
                     start = "2015-01-01", 
                     end = as.character(Sys.Date())),
      textOutput("DateRange")
      ),

    server = function(input, output){
      output$DateRange <- renderText({
        # make sure end date later than start date
        validate(
          need(input$dates[2] > input$dates[1], "end date is earlier than start date"
               )
          )

        # make sure greater than 2 week difference
        validate(
          need(difftime(input$dates[2], input$dates[1], "days") > 14, "date range less the 14 days"
               )
          )

        paste("Your date range is", 
              difftime(input$dates[2], input$dates[1], units="days"),
              "days")
      })
    }
  ))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM