Вот простой пример, основанный на наборе данных iris и sqlite, чтобы вы начали:
library(shiny)
library(RSQLite)
library(DBI)
library(datasets)
con <- dbConnect(RSQLite::SQLite(), ":memory:")
dbWriteTable(con, "iris", iris)
dbListTables(con)
ui <- fluidPage(
numericInput("nrows", "Enter the number of rows to display:", 5),
actionButton(
inputId = "queryButton",
label = "Query",
icon = icon("refresh")
),
tableOutput("tbl")
)
server <- function(input, output, session) {
iris_preview <- reactiveVal(data.frame())
observeEvent(input$queryButton, {
queryString <- sprintf("select * from iris limit %s", input$nrows)
iris_preview(dbGetQuery(con, queryString))
})
output$tbl <- renderTable({
iris_preview()
})
}
shinyApp(ui, server)
В долгосрочной перспективе, пожалуйста, прочитайте это .