gpt4 book ai didi

R: Shiny - 更新 dateRangeInput 开始和结束

转载 作者:行者123 更新时间:2023-12-04 09:26:29 24 4
gpt4 key购买 nike

我在 RStudio 中使用“ Shiny ”。

我希望使用数据集的最小值和最大值更新 dateRangeInput 小部件的预选日期。
当我尝试下面的代码时(仅针对开始日期进行了简化),开始日期不会显示在日期范围小部件的左侧框中:相反,该框显示为空白(但它实际上设置为今天的日期 - 单击在空框上,显示带有今天日期的日历)。
ui.r: dateRangeInput("dates", label = "Date range", start='mydatestart', end = '2014-05-06')

实际上选择了最短日期,因为它在使用
时显示ui.r: textOutput('mydatestart')

这是一个可重现的例子:
ui.R

library(shiny)shinyUI({  sidebarPanel(  dateRangeInput("dates", label = "Date range", start='mydatestart', end = '2014-05-06'),  textOutput('mydatestart')  )}) 

服务器.R

  
shinyServer(function(input, output) {
mydate<-c("2013-04-24", "2013-04-25", "2013-04-26", "2013-04-27", "2013-04-28", "2013-04-28", "2013-04-29", "2013-04-30")
output$mydatestart<-renderText(min(mydate))
})

使用 output$mydatestart<-renderText(as.Date(min(mydate))) 会出现同样的问题。

你知道为什么会这样吗?
谢谢,伊万

最佳答案

  1. 您不能将像 mydatestart 这样的字符串文字作为参数传递给 dateRangeInput,因为它将解释为字符串 - 这就是为什么 start 字段为空。你需要给它一个合法的值(value)。
  2. 您的 shinyUI 调用中缺少几个关键函数,在下面的注释中指出。
  3. 为 Shiny 的应用程序将全局数据对象放在 global.R 文件中比在 shinyServer 函数中定义它们更符合习惯。

ui.R

library(shiny)

shinyUI({
## fluidPage(...)
fluidPage(
## sidebarLayout(...)
sidebarLayout(
sidebarPanel(
dateRangeInput(
"dates", label = "Date range",
start = min(mydate),
end = '2014-05-06'),
uiOutput("mydatestart2")
),

mainPanel(textOutput('mydatestart'))
)
)

})

server.R

library(shiny)

shinyServer(function(input, output) {
# not accessable in UI
output$mydatestart <- renderText(min(mydate))
# accessable in UI
output$mydatestart2 <- renderUI({
dateRangeInput(
"dates2",
label = "Reactive Start Date",
start = as.Date(input$dates[1]) + 7,
end = as.Date(input$dates[1]) + 14
)
})
})

global.R

mydate <- c("2013-04-24", "2013-04-25", "2013-04-26",
"2013-04-27", "2013-04-28", "2013-04-28",
"2013-04-29", "2013-04-30")

enter image description here


enter image description here

关于R: Shiny - 更新 dateRangeInput 开始和结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32975794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com