我有一个闪亮的应用程序,我可以在其中加载文件。我不想从我的文件中提取最小和最大日期范围,使用这些作为滑块输入的输入。
这是我到目前为止所拥有的
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,如下所示:
UI
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")
),
我收到此错误: 错误:二元运算符的非数字参数
由于
答案 0 :(得分:0)
library(zoo)
包含yearmon
,这是一个用于表示月度数据的类。请参阅下面的代码,它会将13-05
转换为13-05-01
。
library(shiny)
library(zoo)
dataset <- data.frame(minDate = c('13-05'), maxDate = c('14-05'))
if(interactive()){
shinyApp(
ui <- fluidPage(
sliderInput("slider1", "Date Range",
min = as.Date(as.yearmon(dataset$minDate)),
max = as.Date(as.yearmon(dataset$maxDate)),
value = as.Date(as.yearmon(dataset$minDate))
)
),
server = function(input, output){
}
)
}