r - Shiny :使日期和时间在选择输入中按预期显示

标签 r date shiny

我有一个数据框,第一列的格式为 yyyy-mm-dd hh:mm:ss 并归类为 POSIXct。 dput()数据框的一小部分:

structure(list(`TIMESTAMP-TS` = structure(c(1432054800, 1432058400, 1432062000, 1432065600), class = c("POSIXct", "POSIXt"), tzone = ""), 
`RECORD-RN` = 4099:4102, `BattV_Min-Volts` = c(12.34, 12.36, 
12.35, 12.35), `ETos-DegC` = c(0.097, 0.047, 0.042, 0.023
), `Rso-DegC` = c(3.436, 3.52, 3.385, 3.053)), .Names = c("TIMESTAMP-TS", "RECORD-RN", "BattV_Min-Volts", "ETos-DegC", "Rso-DegC"), row.names = c(NA, 4L), class = "data.frame")

我想使用此列中的范围来选择其他列中的数据。 dateRangeInput不工作,我想我会尝试 inputSelect .这尤其有效,因为我有多个具有不同时间步长的数据集,即 5 分钟间隔、1 分钟间隔。

这些是我在 Shiny ui.R 文件中编写的用于选择日期和时间的代码行:
selectInput('starttime','Beginning date and time:', choices = data$'TIMESTAMP-TS', selectize = FALSE, size = 4),

selectInput('finishtime','Ending date and time:', choices = data$'TIMESTAMP-TS', selectize = FALSE, size = 4)

当 Shiny 运行时,下拉菜单将日期和时间显示为自 1970 年以来的总秒数。我认为包装 data$'TIMESTAMP-TS'as.POSIXct()会将其更改为人类可读的形式,但事实并非如此。

我尝试让数据作为默认类读入,然后添加 as.POSIXct()在用于 Shiny 的 ui.R 文件中,但它仍然显示为累积秒数。该实验的一个有趣的副作用是在情节上添加了一种地毯,为小时添加了更多标签,这很有用,因为我制作的第一个情节没有时间指示,只有日期。

我应该使用什么来使下拉选项更易于理解?我看到这个 question and answer ,但似乎使用 selectInput 会更容易因为它使用增量中的时间步长,因为它们出现在数据集中。

最佳答案

用这个测试了一个玩具模型:

 selectInput(inputId = "choosevar",
                label = "Choose Cut Variable:",
                choices = as.character(df$`TIMESTAMP-TS`))

请注意,R 通常不喜欢变量名中的减号,因此您需要在波浪号下使用小勾号,无论它叫什么(反引号?)。

pics or it didn't happen

关于r - Shiny :使日期和时间在选择输入中按预期显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31747772/

相关文章:

r - 创建基于按 ID 分组的另一列的值重新启动的序列变量

javascript - Diff 不是 Moment.js 中的函数

javascript - 修改对象中的日期以在 mongoose 中聚合 $match 查询

R:如何将列表保存到 csv 中?

r - 在 mutate_at() 中访问列名

r - Shiny 应用程序无法读取包 : The application failed to start (exited with code 1)

javascript - 如何返回 R Shiny 中焦点元素的 ID?

r - 在 Shiny 选项卡中使用多个 R Markdown 文件

r - 为什么在 Rcpp 中使用 "pnorm"会出现错误

javascript - 为什么上个月的 12.31.2013 是 12.01.2013?