我正在尝试构建一个闪亮的应用程序,其中输出将显示“当前周是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))
})
})
答案 0 :(得分:1)
我认为格式化问题很小。我已经添加了一年中开始的那一天的开始(所以如果你希望你的计数从周日开始,你可以指定),所以你可以根据需要改变它。
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))