闪亮 - 年仅输入?

Shiny - years input only?

如何只输入年份?

我在下面输入了这个日期,它给出了从 2014 年 10 月 1 日开始的日期,

 dateInput(
    inputId =  "date_from", 
    label = "Select time period:", 
    value = "2014-10-01", 
    format = "dd-mm-yyyy"
    )

但是我不需要月份和日期,我只需要年份,

 dateInput(
    inputId =  "year_from", 
    label = "Select time period:", 
    value = "2014", 
    format = "yyyy"
    )

它显然不起作用,因为我仍然看到显示的月份和日期。

有什么想法吗?

如果您不需要月份和日期,那么我认为您需要的不是日期,而是年份。如果您只想要年份,那么我会使用 selectInput 而不是 dateInput。通常 dateInput 用于当你真的想要一个完整的日期时,但如果你只需要显示一个带有年份的 select 框更有意义。从用户体验的角度来看,用户使用起来也更容易。

selectInput(
    inputId =  "date_from", 
    label = "Select time period:", 
    choices = 2014:2100
)

参考 Dean Attali 的回答,我们可以将代码更新如下,以仅显示截至当前年份的年份。

selectInput(
    inputId =  "date_from", 
    label = "Select time period:", 
    choices = 2014:as.numeric(format(Sys.Date(),"%Y"))
  )