Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 闪亮:制作一个动态下拉菜单,其中包括一个;“所有行”;选项_R_Dynamic_Shiny_Reactive - Fatal编程技术网

R 闪亮:制作一个动态下拉菜单,其中包括一个;“所有行”;选项

R 闪亮:制作一个动态下拉菜单,其中包括一个;“所有行”;选项,r,dynamic,shiny,reactive,R,Dynamic,Shiny,Reactive,我正在尝试制作一个闪亮的应用程序,它将显示表中的所有行,或者允许用户选择行的子集。最终将有多个下拉菜单,但现在我只是试图让一个工作的所有方式 由于某些原因,应用程序找不到filter()语句中的状态。这可能与允许在下拉菜单没有选择任何内容时显示所有行的问题不同 如果您能提供任何帮助或链接到示例,我们将不胜感激 library(shiny) ui <- fluidPage( titlePanel("Products"), sidebarLayout( sidebarPa

我正在尝试制作一个闪亮的应用程序,它将显示表中的所有行,或者允许用户选择行的子集。最终将有多个下拉菜单,但现在我只是试图让一个工作的所有方式

由于某些原因,应用程序找不到filter()语句中的状态。这可能与允许在下拉菜单没有选择任何内容时显示所有行的问题不同

如果您能提供任何帮助或链接到示例,我们将不胜感激

library(shiny)

ui <- fluidPage(

  titlePanel("Products"),

  sidebarLayout(
    sidebarPanel( 
      uiOutput("statusOutput"),
      sliderInput("modelInput","Model Number", 0,200,c(100,200))
     ),

    mainPanel(
      tableOutput("results")
    )
  )
)

server <- function(input, output) {

  output$statusOutput <- renderUI({
    selectInput("statusInput","Status",
                sort(unique(Product_List$Status)))
  })

  filtered <- reactive ({
    if (is.null (input$statusInput)) {
      return(NULL)
    }

    Product_List %>%
      filter(Status == input$statusInput )
    })

    output$results<-renderTable({
     filtered()
      })
    }

    shinyApp(ui = ui, server = server)
库(闪亮)

ui您的代码在我看来还可以,过滤器也可以按预期工作。试着用

Product_List = data.frame(Status=c(1,2,3,4,5))

下面的代码是您描述的所需行为的一个示例,如果用户不提供输入,则选择所有行,否则将过滤数据帧。我希望这有帮助

library(shiny)
library(dplyr)

Product_List = data.frame(Status=c(1,2,3,4,5))

ui <- fluidPage(

  titlePanel("Products"),

  sidebarLayout(
    sidebarPanel( 
      uiOutput("statusOutput"),
      sliderInput("modelInput","Model Number", 0,200,c(100,200))
    ),

    mainPanel(
      tableOutput("results")
    )
  )
)

server <- function(input, output) {

  output$statusOutput <- renderUI({
    selectizeInput("statusInput","Status",
                sort(unique(Product_List$Status)),multiple=TRUE,options=list(placeholder="All"))
  })

  filtered <- reactive ({
    if (length(input$statusInput)==0) {
      return(Product_List)
    }

    Product_List %>%
      filter(Status %in% input$statusInput )
  })

  output$results<-renderTable({
    filtered()
  })
}

shinyApp(ui = ui, server = server)
库(闪亮)
图书馆(dplyr)
产品列表=数据帧(状态=c(1,2,3,4,5))

ui您的代码在我看来还可以,过滤器也可以按预期工作。试着用

Product_List = data.frame(Status=c(1,2,3,4,5))

下面的代码是您描述的所需行为的一个示例,如果用户不提供输入,则选择所有行,否则将过滤数据帧。我希望这有帮助

library(shiny)
library(dplyr)

Product_List = data.frame(Status=c(1,2,3,4,5))

ui <- fluidPage(

  titlePanel("Products"),

  sidebarLayout(
    sidebarPanel( 
      uiOutput("statusOutput"),
      sliderInput("modelInput","Model Number", 0,200,c(100,200))
    ),

    mainPanel(
      tableOutput("results")
    )
  )
)

server <- function(input, output) {

  output$statusOutput <- renderUI({
    selectizeInput("statusInput","Status",
                sort(unique(Product_List$Status)),multiple=TRUE,options=list(placeholder="All"))
  })

  filtered <- reactive ({
    if (length(input$statusInput)==0) {
      return(Product_List)
    }

    Product_List %>%
      filter(Status %in% input$statusInput )
  })

  output$results<-renderTable({
    filtered()
  })
}

shinyApp(ui = ui, server = server)
库(闪亮)
图书馆(dplyr)
产品列表=数据帧(状态=c(1,2,3,4,5))

非常感谢!我仍在处理反应部分,但我确实让顶部过滤器出现了。很明显,我是新手。非常感谢!我仍在处理反应部分,但我确实让顶部过滤器出现了。显然,我对这一点还不熟悉。