在 R shiny 中自定义周数

Customizing week number in R shiny

我正在尝试构建一个闪亮的应用程序,其中输出将显示 "The current week is x",其中 x 是周数。这种情况下的问题是我的一年从 2014 年 3 月 30 日开始,我定义了从星期日到星期六的一周,我无法正确编码导致错误输出。我附上下面的代码。任何帮助将不胜感激。

ui.R
library(shiny)
shinyUI(fluidPage(
    sidebarLayout(
        sidebarPanel(
            dateInput('Start_Date',label = "Choose Date",value = Sys.Date())
            ),
        mainPanel(
            textOutput("text1")
            ),
          )
        ))
    server.R
    library(shiny)
    shinyServer(function(input, output) {
              output$text1<-renderText({
                      paste("The current week is",ceiling(abs(difftime(as.Date("3/30/2014","%m/%d/%y"),as.Date(input$Start_Date),by="weeks"))/7))
    })
   })

我认为您在格式化方面遇到了小问题。我也添加了年份开始的那一天的开始(所以如果你希望你的计数从星期日开始,你可以指定)所以你可以根据需要更改它。

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

ui = fluidPage(
  sidebarLayout(
    sidebarPanel(
      dateInput('Year_starts',label = "Count From",value = as.Date("2014/03/30")),
      dateInput('Start_Date',label = "Choose Date",value = Sys.Date())
    ),
    mainPanel(
      textOutput("text1")
    ),
  )
)

server = function(input, output) {
  output$text1<-renderText({
    dates <- seq(input$Year_starts, as.Date(input$Start_Date), by = "weeks")
    length(dates)-1
  })
}
runApp(list(ui = ui, server = server))