demox=reactive({ out=demo[your condition selected by..selectInput, ]}), then show demox() in renderTableu use input$model in selectInput itself, but without"selected=" default value, it makes NA problem..u can use another var,e.g brandx=reactive({if(is.null(input$brand) unique(demo$brand)if(input$brand=='all') unique(demo$brand) else input$brand }), then use demo[brand==brandx(),] in abovingdemox() function to filter your criteria..