Проблема: Ниже игрушечного блестящего приложения, из которого я хочу загрузить соответствующие преобразованные данные mtcars
в выражении renderDataTable
. Я знаю, что об этом спрашивали тысячу раз, но я не могу найти разумного решения, так как только файл html может быть загружен с бесполезной информацией, или с помощью этого приложения возникает ошибка.
Большое спасибо!
Блестящий код
library(shiny)
library(DT)
library(data.table)
source("download_module.R")
ui <- fluidPage(
dataTableOutput("table"),
tableDownload_UI("download_data")
)
server <- function(input, output) {
output$table <- renderDataTable({
mt_dt <- as.data.table(mtcars)
mt_dt[, .N, by = .(cyl)]
})
callModule(tableDownload_server,
"download_data",
output$table,
file_name = "dieterdata.csv"
)
}
shinyApp(ui = ui, server = server)
Скачать модуль
tableDownload_UI <- function(id, label = "Download data"){
ns <- NS(id)
downloadButton(ns("download_data"), label)
}
tableDownload_server <- function(input,
output,
session,
data_dev,
file_name){
output$download_data <- downloadHandler(
req(data_dev),
filename <- function(){
file_name
},
content <- function(file){
fwrite(data_dev, file)
}
)
}