我尝试使用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
的数据框。任何帮助将不胜感激。
答案 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]),]