gpt4 book ai didi

r - 如果我手动更改 R Shiny 中的第一个 dateRangeInput,则无法更新第二个 dateRangeInput

转载 作者:行者123 更新时间:2023-12-04 09:05:34 27 4
gpt4 key购买 nike

我在下面有一个示例代码,显示了两个 dateRangeInput .第二个被选中的日期 dateRangeInput依赖于第一个 dateRangeInput .这是 Shinyapps.io ( https://yuchenw.shinyapps.io/shiny_daterange/ ) 上的相同版本。
我想演示的奇怪行为是,如果我手动更改第一个 dateRangeInput 中的日期值,第二个 dateRangeInput变成 NA。
例如,如果我选择了第一个 dateRangeInput 中的日期,应用程序可以更新第二个 dateRangeInput成功地。
enter image description here
enter image description here
但是,如果我手动删除第一个 dateRangeInput 的输入框中的日期值,然后输入新的日期值,第二个日期值 dateRangeInput变成 NA .
enter image description here
enter image description here
这似乎是一种不受欢迎的行为,因为我希望这两种选择方法(使用日历或手动更改它)应该是相同的。请让我知道我是否可以修复此行为。

library(shiny)

# Create the ui
ui <- fluidPage(
dateRangeInput(inputId = "date_input1", label = "Select Date Range 1",
start = "2000-01-01", end = "2019-12-31",
min = "2000-01-01", max = "2019-12-31"),
verbatimTextOutput(outputId = "date_output1"),
dateRangeInput(inputId = "date_input2", label = "Select Date Range 1",
start = "2000-01-01", end = "2019-12-31",
min = "2000-01-01", max = "2019-12-31"),
verbatimTextOutput(outputId = "date_output2")
)

# Create the server
server <- function(session = session, input = input, output = output){
# Update the date selection in date_input2
observe({
updateDateRangeInput(session = session, inputId = "date_input2", label = "Select Date Range 1",
start = input$date_input1[[1]], end = input$date_input1[[2]],
min = "2000-01-01", max = "2019-12-31")
})

# Print the selected date
output$date_output1 <- renderText({
paste(input$date_input1[[1]], input$date_input1[[2]], sep = " - ")
})

output$date_output2 <- renderText({
paste(input$date_input2[[1]], input$date_input2[[2]], sep = " - ")
})
}

# Run the application
shinyApp(ui = ui, server = server)

最佳答案

在 updateDateRangeInput 调用之前添加此行

req(input$date_input1[[1]],input$date_input1[[2]])
问题是,当您手动编辑时,有一段时间日期格式不正确,并且由于某种原因永久破坏了第二个日期输入。 req() call 只是坚持在更新第二个日期输入之前那里有正确的值。

关于r - 如果我手动更改 R Shiny 中的第一个 dateRangeInput,则无法更新第二个 dateRangeInput,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63458105/

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