2016-12-07 16 views
0

dateRangeInput()セレクタをShinyにハッキングまたは作成する方法はありますか。これは、月間(日なし)を選択するか、または選択した月の最初の日を自動的に選択せずに1日の選択?それとも、私は別の月、日付ピッカー(スライダー、選択ボックス...)R Shiny DateRange入力月年のみ

dateRangeInput('dateRange',label = "Pédiode d'analyse : ",format = "mm/yyyy",language="fr", 
    start = Sys.Date() %m-% months(12), end=Sys.Date(),startview = "year",separator = " - ") 

を作成する必要がありますどのような私が欲しいのは、日付を選択する際に、このステップを削除することです:dateRangeInput

答えて

1

は、このカスタム関数monthStartを見てくださいその日付はその月と年の最初の日付に強制的に使用することができます

例1、与えられた月の最初の日を表示します。 、

#rm(list=ls()) 
library(shiny) 

monthStart <- function(x) { 
    x <- as.POSIXlt(x) 
    x$mday <- 1 
    as.Date(x) 
} 

ui <- basicPage(dateRangeInput('dateRange',label = "Pédiode d'analyse : ",format = "mm/yyyy",language="fr",start = Sys.Date(), end=Sys.Date(),startview = "year",separator = " - "), 
       textOutput("SliderText") 
) 
server <- shinyServer(function(input, output, session){ 

    Dates <- reactiveValues() 
    observe({ 
    Dates$SelectedDates <- c(as.character(monthStart(input$dateRange[1])),as.character(monthStart(input$dateRange[2]))) 
    }) 
    output$SliderText <- renderText({Dates$SelectedDates}) 
}) 
shinyApp(ui = ui, server = server) 

enter image description here

例2アプリで後で使用するためにDateオブジェクトを使用したい場合に便利ですので、常に与えられた月の最初の日を指していますし、年表示のみ月と年

#rm(list=ls()) 
library(shiny) 

monthStart <- function(x) { 
    x <- as.POSIXlt(x) 
    x$mday <- 1 
    as.Date(x) 
} 

ui <- basicPage(dateRangeInput('dateRange',label = "Pédiode d'analyse : ",format = "mm/yyyy",language="fr",start = Sys.Date(), end=Sys.Date(),startview = "year",separator = " - "), 
       textOutput("SliderText") 
) 
server <- shinyServer(function(input, output, session){ 

    Dates <- reactiveValues() 
    observe({ 
    Dates$SelectedDates <- c(as.character(format(input$dateRange[1],format = "%m/%Y")),as.character(format(input$dateRange[2],format = "%m/%Y"))) 
    }) 
    output$SliderText <- renderText({Dates$SelectedDates}) 
}) 
shinyApp(ui = ui, server = server) 

enter image description here

+0

[OK]を、私は、ユーザーがトンと思うことをしたくありません帽子が選択されている場合は、スライダーまたはmmyyyyのselectinputを作成するのが最良の方法です。 – TiFr3D

+0

この機能をどのように使いたいのか分からなかったので、分析に必要なように、その日も含めました。表示の目的で、日付を1日なしでレンダリングすることができます。上記の更新を参照してください –

+0

申し訳ありませんが私はそれを明確に説明していない、私は削除するか、または非表示にするステップを示す画像を追加しました。 – TiFr3D

関連する問題