为要在数据表的搜索栏中使用的特定值指定其他名称

时间:2019-05-17 17:59:02

标签: r shiny datatables

我下面有一个带有数据表的基本闪亮应用程序。我想知道是否有可能在数据表的搜索栏中搜索“ setosa”物种,但必须更早设置另一个名称。例如,键入“ sts”将给出所有“ setosa”种类。

library(shiny)
library(DT)
shinyApp(
  ui = fluidPage(DTOutput('tbl')),
  server = function(input, output) {
    output$tbl = renderDT(
      iris, options = list(lengthChange = FALSE)
    )
  }
)

1 个答案:

答案 0 :(得分:2)

您可以定义一个缩写列并将其隐藏(搜索仍然有效):

iris$Abbreviation <- "sts"
iris$Abbreviation[iris$Species == "versicolor"] <- "vrs"
iris$Abbreviation[iris$Species == "virginica"] <- "vrg"

hideCols <- which(names(iris) %in% c("Abbreviation"))

library(shiny)
library(DT)
shinyApp(
  ui = fluidPage(DTOutput('tbl')),
  server = function(input, output) {
    output$tbl = renderDT(
      iris, options = list(lengthChange = FALSE, columnDefs = list(list(visible=FALSE, targets=hideCols)))
    )
  }
)