在 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))
我正在尝试构建一个闪亮的应用程序,其中输出将显示 "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))