首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >“as.POSIXlt.default中的错误:不知道如何将”x“转换为”POSIXlt“类”

“as.POSIXlt.default中的错误:不知道如何将”x“转换为”POSIXlt“类”
EN

Stack Overflow用户
提问于 2020-08-18 09:24:32
回答 2查看 39关注 0票数 0

当在另一个项目中使用下面的代码时,我收到了上面提到的错误。有人知道怎么纠正这个问题吗?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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)
´´´
EN

回答 2

Stack Overflow用户

发布于 2020-08-18 09:50:09

我没有得到与您相同的错误,并且您在output$test-input_ui的定义中有一个拼写错误。

然而,问题的根本原因是您滥用了uiOutput/renderUI。您需要使用它们来定义您想要显示的输出小部件,然后在其他地方提供相关的渲染器。您将跳过输出小部件的定义,直接转到渲染器。这是一个MWE,我认为,它可以做你想要的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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)
票数 1
EN

Stack Overflow用户

发布于 2020-08-18 09:50:52

我想这就是你想要的。uiOutput的全部意义在于,您可以动态地呈现输出,即,您希望将其放入服务器中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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",
       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
     )
  })
}

shinyApp(ui, server)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63465654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文