0

所以基本上我正在尝试进行一些小的设置,一旦完成某个分析,我想将生成的某个数据集导出到预定义的位置和预定义的名称(基于之前选择的输入)。为此,我使用了操作按钮,单击时会执行此操作,

observeEvent(input$export_button, {
        write.csv(input_dummy_data4ads,paste0("Dummy Files/",unique(input_dummy_data4ads$Dependent_Variable),"_", unique(input_dummy_data4ads$Model_Type),"_", unique(input_dummy_data4ads$AGM),".csv"),row.names = F,na="")
           }) 

这里的问题是,如果我单击一次操作按钮,它会生成所需的 csv 文件并在所需的位置。但是在按下它一次后,它的值是 1 (input$export_button) 所以当我使用单选按钮选择一组新的输入并基于它生成一个新的图(通过单击另一个操作按钮)时,应用程序会保存一个在所需位置具有新名称(基于新输入)的新 csv 文件。我想要做的是重置操作按钮的值,以便只有在我每次单击它时才会创建新的 csv 文件。

我试图理解这一点,但无法将其合并https://github.com/rstudio/shiny/issues/167

4

1 回答 1

0

为此,在您的uiserver中使用了shiny中的特定功能。downloadButtondownloadHandler

服务器.R:

output$export_data <- downloadHandler(
  filename = function() {
    paste0("Dummy Files/", unique(input_dummy_data4ads$Dependent_Variable), "_", unique(input_dummy_data4ads$Model_Type), "_", unique(input_dummy_data4ads$AGM), ".csv")
  },
  content = function(con) {
    write.csv(input_dummy_data4ads, con, row.names = F, na = "")
  }
)

ui.R:

downloadButton("export_data", "Export")
于 2017-10-06T06:53:18.537 回答