.I有一个由100个样本组成的数据帧。有三列,一个url链接,第二个到url链接的名称或标题,以及第三个日期。我想在闪亮的界面中显示所有这些标题。单击此按钮可将用户引导至相应的链接页面。通过选定的日期过滤样本。但是我得到了一个错误
UseMethod中出现错误:没有适用于"c('datatables','htmlwidget')“类的对象的”filter_“的方法。请帮助
下面的是代码
df$link <- paste0("<a href='", df$url, "' target='_blank'>", df$heading, "</a>")
ui <- fluidPage( dateRangeInput('dateRange',
label = 'Filter news by date',
start = as.Date('2001-01-01') , end = as.Date('2018-06-01')),
DT::dataTableOutput("table")
)
server <- function(input, output) {
output$table <- DT::renderDataTable({
DT::datatable(df[, c("link", "Date"), drop = FALSE], escape = FALSE) %>%
dplyr::filter(df$Date >= input$dateRange[1] & df$Date <= input$dateRange[2])
})
}
发布于 2018-06-04 04:14:01
您正在通过管道将结果从DT::datable
传输到filter
,它不是一个类似数据框的对象。
您可能希望对数据框应用filter
,然后将结果传递给datatable
,如下所示:
server <- function(input, output) {
output$table <- DT::renderDataTable({
DT::datatable(
df[, c("link", "Date"), drop = FALSE] %>%
dplyr::filter(df$Date >= input$dateRange[1] & df$Date <= input$dateRange[2]),
escape = FALSE
)
})
}
https://stackoverflow.com/questions/50669729
复制相似问题