【发布时间】:2018-03-16 04:19:18
【问题描述】:
我有一个闪亮的应用程序,我可以在其中加载文件。我不想从我的文件中提取最小和最大日期范围,将它们用作滑块输入的输入。
这是我目前所拥有的
ui <- fluidPage(
dateRangeInput(inputId = "date", label = "Input a date range", start=textOutput("datemin") , end = textOutput("datemax"),"%d-%m-%y"))
)
server = function(input, output){
output$datemin <- renderText({as.character(as.Date(paste("01",as.character.Date(min(dataset()$date)),sep="-"),"%d-%y-%m"))})
output$datemax <- renderText({as.character(as.Date(paste("01",as.character.Date(max(dataset()$date)),sep="-"),"%d-%y-%m"))})
}
我知道输出 datemin 和 datemax 有点棘手,这是因为数据集中的“日期”列是一个字符串,例如 2013 年 5 月的“13-05”(数据集是一个汇总版本,每月表示一些值)
编辑。
我为我的日期尝试了 3 种不同的输出以检查格式,并将它们显示为文本输出,如下所示:
用户界面
textOutput("datemin1"),
textOutput("datemin2"),
textOutput("datemin3"),
服务器
output$datemin1 <- renderText({(as.character.Date(min(dataset()$date)))})
output$datemin2 <- renderText({as.character(as.Date(paste("01",as.character.Date(min(dataset()$datem)),sep="-"),"%d-%y-%m"))})
output$datemin3 <- reactive({as.Date(as.yearmon(min(dataset()$datem)))})
输出如下:
datemin1 : 14-01
datemin2 : 2014-01-01
datemin3 : 0014-01-01
但是当我尝试使用输出作为滑块的输入值时,如下所示:
sliderInput("slider1", "Date Range",
min = textOutput("datemin2"), max=textOutput("datemax2"),
value = textOutput("datemax2")
),
我收到此错误: 错误:二元运算符的非数字参数
谢谢
【问题讨论】:
-
您想如何在
sliderInput上显示日期格式?您的数据集中的完整日期格式是什么? -
原来数据集中完整的日期格式是yyyy-mm-dd,但是当汇总数据集计算数据的月均值时,将其删除为yy-mm。在 sliderInput 上,格式可以是 mm-yyyy 或 dd-mm-yyyy,day 自动初始化为 01。
-
好的,请看下面的答案。