使用带有DataTables输出的R Shiny Date Range输入

时间:2015-11-21 18:29:52

标签: r shiny

我尝试使用Shiny R包中的dateRangeInput以及内置输出DataTable,但是当我运行应用程序时出现错误:

Error in >=.default(date, input$dates[1]) : 
  comparison (5) is possible only for atomic and list types

我的代码是:

 ui.R

          dashboardBody(
                      fluidRow(
                         dateRangeInput("dates", "Date Range",
                                        start = head(comp.reg.df$date,1),
                                        end = tail(comp.reg.df$date,1),
                                        startview = "month",
                                         separator = " to "),

                         dataTableOutput("table")
                      )
    )



server.R

        shinyServer <- function(input, output) {

         reg.final <- reactive({

    comp.reg.final <- comp.reg.df[date >= input$dates[1] & date <= input$dates[2]]

            return (comp.reg.final)

          })


          output$table <- renderDataTable(reg.final(),
                                          options = list(pageLength = 10))



          }

其中comp.reg.df是具有字符类的列名date的数据框。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您的问题是comp.reg.df是一个数据框,因此您在调用时需要逗号。

尝试:

   comp.reg.final <- comp.reg.df[which(comp.reg.df$date >= input$dates[1] & comp.reg.df$date <= input$dates[2]),]