将小时分钟Shiny滑块缩放到矩阵行

时间:2017-12-27 08:59:54

标签: r shiny

我有一个133x4矩阵,间隔时间为5分钟,因为它的行名存储在一个字符向量中,“10:30”,“10:35”,... 我试图制作一个Shiny滑块,以便用户选择任何时间戳b / w开始和结束时间并获得与该时间戳相对应的条形图作为回报。我可以使用编号为b / w 1和133的滑块轴标签执行此操作,此代码位于:https://pastebin.com/GSKsYJVp 但是,我无法使用5分钟间隔时间戳来完成滑块。我环顾四周,试图从这里重新设计解决方案:Shiny Slider Input step by month,但收到错误消息:必须提供'origin'。到目前为止,这是我的(错误的)代码:

library(shiny)
 ui <- fluidPage(

  titlePanel("Running Counts!"),
  sidebarLayout(
    sidebarPanel(
      sliderInput(inputId = "bins",
                  label = "Select time:",
                  min = as.Date("2017-12-18 10:30", tz = "Asia/Kolkata"),
                  max = as.Date("2017-12-18 21:30", tz = "Asia/Kolkata"),
                  value = min,
                  timeFormat = "%H:%M",
                  step = 300)#i.e. 5 mins

    ),
    mainPanel(
      plotOutput(outputId = "distPlot")
    )
  )
)
server <- function(input, output) {


output$distPlot <- renderPlot({
  full.date <- as.POSIXct(input$bins, tz="Asia/Kolkata")
  output <- strftime(full.date, format = "%H:%M")
  x <- barplot(results_mat[output,])
          #main = paste(c("Results at ", rownames(results_mat)[input$bins])))
})
}
shinyApp(ui = ui, server = server)

我发布了一个链接到我的工作,但不优雅的代码,以包含这篇文章的长度。如果这个论坛需要实际的代码我也可以发布。谢谢

1 个答案:

答案 0 :(得分:0)

我想我最终设法回答了我自己的查询:读取滑块inputID,min,max和value as.POSIXct()变量以及server()strftime(输入$ bins,“%R”)返回一个描述时间的字符变量:符合结果矩阵标签的分钟