如何解决“ as.POSIXlt.default中的错误:不知道如何将'x'转换为类“ POSIXlt”
在另一个项目中使用以下代码时,我收到了上面提到的错误。有人知道如何纠正吗?
ui <- fluidPage(
column(2,uiOutput("test_input_ui"),sliderInput(
"test_input",label = "Select time",min = lubridate::origin,max = lubridate::origin + days(1) - seconds(1),value = c(lubridate::origin,lubridate::origin + days(1) - seconds(1)),step = 5 * 60,timeFormat = "%H:%M",timezone = "+0000",ticks = FALSE
)
)
)
server<-function(input,output){
output$test_input_ui <- renderUI({input$test_input)}
}
shinyApp(ui = ui,server = server)
´´´
解决方法
我得到的错误与您不同,您在output$test-input_ui
的定义中有错字。
尽管如此,问题的根本原因是您滥用uiOutput
/ renderUI
。您需要使用它们定义要显示的输出窗口小部件,然后在其他位置提供关联的渲染器。您将跳过输出窗口小部件的定义,直接进入渲染器。我认为这是一个MWE,可以满足您的要求:
library(shiny)
library(lubridate)
ui <- fluidPage(
column(2,uiOutput("test_input_ui"),sliderInput(
"test_input",label = "Select time",min = lubridate::origin,max = lubridate::origin + days(1) - seconds(1),value = c(lubridate::origin,lubridate::origin + days(1) - seconds(1)),step = 5 * 60,timeFormat = "%H:%M",timezone = "+0000",ticks = FALSE
)
)
)
server<-function(input,output){
output$test_input_ui <- renderUI({
tagList(
textOutput("minTime"),textOutput("maxTime")
)
})
output$minTime <- renderText({input$test_input[1]})
output$maxTime <- renderText({input$test_input[2]})
}
shinyApp(ui = ui,server = server)
,
我想这就是你想要的。 uiOutput
的重点是,您可以动态呈现输出,即,您要将其放置在服务器中:
library(lubridate)
library(shiny)
ui <- fluidPage(
column(2,uiOutput("test_input_ui")
)
)
server<-function(input,output,session){
output$test_input_ui <- renderUI({
sliderInput("test_input",ticks = FALSE
)
})
}
shinyApp(ui,server)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。