带有CheckboxInput的R闪亮滤镜

时间:2020-10-28 18:35:07

标签: r shiny

我无法根据CheckBoxInput过滤我的Shiny Application中的数据集。

我想问题是CheckboxInput的格式错误。

在这里,我还有一个示例代码:

x <- as.data.frame(matrix(data = 1:20,ncol=2))
colnames(x) <- c("Test1","Test2")

ui <- fluidPage(
checkboxGroupInput("icons", "Choose icons:", choices = 1:10),
textOutput("test"))

server <- function(input, output, session) {
output$test <- renderText({
  req(input$icons)
  tmp_input <- as.numeric(as.vector(input$icons))
  tmp <- x %>%
    dplyr::filter(Test1 %in% tmp_input)
  return(tmp)
})
}  
shinyApp(ui, server)

错误消息是:'cat'无法处理参数1(类型'list')

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

renderText是一个data.frame(实际上也是一个列表)。您将其返回以使其由cat使用cat呈现。但是renderPrint需要原子向量并且不能处理列表。尝试结合使用verbatimTextOutputlibrary(shiny) library(dplyr) x <- as.data.frame(matrix(data = 1:20,ncol=2)) colnames(x) <- c("Test1","Test2") ui <- fluidPage( checkboxGroupInput("icons", "Choose icons:", choices = 1:10), verbatimTextOutput("test")) server <- function(input, output, session) { output$test <- renderPrint({ req(input$icons) tmp_input <- as.numeric(as.vector(input$icons)) tmp <- x %>% dplyr::filter(Test1 %in% tmp_input) return(tmp) }) } shinyApp(ui, server)

#Code
unlist(l)[grepl('.type',names(unlist(l)),fixed=T)]