R 使用空格(非管道)在数据表中批搜索正则表达式

R 使用空格(非管道)在数据表中批搜索正则表达式,r,shiny,dt,shinyapps,R,Shiny,Dt,Shinyapps,下面有谁能告诉我,是否有可能实现一种搜索交互式数据表的方法,其中关键字由空格而不是管道分隔?我的应用程序的用户将拥有由空格分隔的基因列表,添加管道将无法让应用程序变得友好 示例代码: ##示例取自https://rstudio.github.io/DT/007-search.html 图书馆(DT) mtcars2=mtcars[,c(1:5,9)] mtcars2$am=系数(mtcars$am,c(0,1),c(‘自动’、‘手动’) dt这里有一种方法: library(shiny) lib

下面有谁能告诉我,是否有可能实现一种搜索交互式数据表的方法,其中关键字由空格而不是管道分隔?我的应用程序的用户将拥有由空格分隔的基因列表,添加管道将无法让应用程序变得友好

示例代码:

##示例取自https://rstudio.github.io/DT/007-search.html
图书馆(DT)
mtcars2=mtcars[,c(1:5,9)]
mtcars2$am=系数(mtcars$am,c(0,1),c(‘自动’、‘手动’)
dt这里有一种方法:

library(shiny)
library(DT)

callback <- '
$("div.search").append($("#mySearch"));
$("#mySearch").on("keyup redraw", function(){
  var splits = $("#mySearch").val().split(" ").filter(function(x){return x !=="";})
  var searchString = "(" + splits.join("|") + ")";
  table.search(searchString, true).draw(true);
});
'

ui <- fluidPage(
  tags$head(tags$style(HTML(".search {float: right;}"))),
  br(),
  tags$input(type = "text", id = "mySearch", placeholder = "Search"),
  DTOutput("dtable")
)

server <- function(input, output){

  output[["dtable"]] <- renderDT({
    datatable(
      iris[c(1,2,51,52,101,102),],
      options = list(
        dom = "l<'search'>rtip"
      ),
      callback = JS(callback)
    )
  }, server = FALSE)

}

shinyApp(ui, server)
库(闪亮)
图书馆(DT)

再次感谢您这么快回复!不确定是否发布一个新问题,但与上面的帖子和之前链接的帖子相关,如果我尝试将这两个元素合并到我的应用程序中,搜索框将不起作用。我想这是做标签的?我已经在下面进行了扩展(如果需要的话,我很乐意删除并开始一篇新文章)。再次感谢。@LisaBreckels禁止使用答案空间继续讨论^。我认为问题在于,您必须将带有
dataTableOutput
的内容放在
tabPanel
中。
tabsetPanel
必须始终由
tabPanel
s组成。这确实是个问题!非常感谢您这么快的回复,非常感谢。