Есть ли способ использовать блестящие кнопки загрузки для загрузки (не импортированных / измененных) данных из приложения? - PullRequest
1 голос
/ 07 февраля 2020

В блестящей черновой книге Хэдли я видел много документации о том, как можно загружать csvs существующих баз данных или данные, которые вводятся в приложение, но как насчет данных, которыми манипулировали на серверной части приложение? Например, если у вас есть список числовых c входов, вы нажимаете кнопку, и все они умножаются на 50, как вы экспортируете новый список импортируемых данных * 50? Возможно ли это с интерактивностью кнопки загрузки?

1 Ответ

1 голос
/ 07 февраля 2020

Как упомянул Кент в комментарии, это очень возможно. Ниже приведено простое приложение, которое позволит вам умножить все поля в mtcars на произвольное число и загрузить файл:

library(shiny)

ui <- fluidPage(
  numericInput("val", "Value", 1),
  downloadButton("file", "Download")
)

server <- function(input, output, sesssion) {
  tbl <- reactive(mtcars * input$val)
  output$file <- downloadHandler(
    filename = "example.csv",
    content = function(x) {
      write.csv(tbl(), x)
    }
  )
}

shinyApp(ui = ui, server = server)
...