Замечательный library(DT)
удовлетворяет всем перечисленным требованиям без определения каких-либо входных данных или пользовательской логики фильтра:
library(shiny)
library(DT)
ui <- basicPage(
h2("Car data"),
DT::dataTableOutput("mytable")
)
server <- function(input, output) {
df = data.frame(
year = c(2018, 2018, 2017, 2017, 2017),
model = c("mazda", "ford", "ford"
, "toyotta", "mazda"),
segment = c("c1", "ax", "ay", "gv", "c1"),
sales = c(23, 54, 65, 78, 54)
)
output$mytable = DT::renderDataTable({
df
}, filter = "top", options = list(pageLength = 30))
}
shinyApp(ui, server)
![screenshot](https://i.stack.imgur.com/cRKAm.png)