我正在尝试寻找一种方法,可以在R Shiny中对数据集进行切片,以根据选择进行进一步处理。
直到现在,我一直都使用常规的选择器和滑块,并使用updateXYZ函数生成要为下一个选择器选择的值。
最近我偶然发现了pickerGroup-module。该模块允许对要素上的数据集进行过滤,在一个模块中完成所有操作,并允许在任何方向上进行过滤(我现在没有预定义的过滤路线)。对于任何方向的过滤,我的意思是例如对类型,子类型,子子类型进行过滤。还要提供子类型,类型和子类型,如果那是特定用户想要过滤的方式。
在pickerGroup模块中,我只能解决一件事,那就是允许它为每个功能选择多个值。开箱即用,它仅选择单个值。有人可以指出正确的方向来使pickerGroup-module允许每个功能具有多个值吗?
答案 0 :(得分:2)
软件包shinyWidgets中还有一个“选择组”模块,在此模块中,您可以选择多个值,尝试一下:
library(shiny)
library(shinyWidgets)
data("mpg", package = "ggplot2")
ui <- fluidPage(
fluidRow(
column(
width = 10, offset = 1,
tags$h3("Filter data with selectize group"),
panel(
selectizeGroupUI(
id = "my-filters",
params = list(
manufacturer = list(inputId = "manufacturer", title = "Manufacturer:"),
model = list(inputId = "model", title = "Model:"),
trans = list(inputId = "trans", title = "Trans:"),
class = list(inputId = "class", title = "Class:")
)
), status = "primary"
),
dataTableOutput(outputId = "table")
)
)
)
server <- function(input, output, session) {
res_mod <- callModule(
module = selectizeGroupServer,
id = "my-filters",
data = mpg,
vars = c("manufacturer", "model", "trans", "class")
)
output$table <- renderDataTable(res_mod())
}
shinyApp(ui, server)