1

我最近在玩 RShiny,我已经构建了一个工作 Web 界面,它接受两个参数“日期”和“位置”,并从我们的数据库中返回一系列符合标准的图形和表格。

我想做的是让用户能够以 HTML 格式的 RMD 报告的形式下载所有数据和图表。

所以我有 1. 带有下载按钮的 UI.R 2. Server.R 的 downloadHandler 启动我的 RMD 脚本 3. ????

用户界面

downloadButton('downloadData','Download')

服务器.R

output$downloadData<- downloadHandler(filename ="myData.html", 
                                  content= function(file= NULL){
                                    knit(thread.RMD) 
                                  }
4

1 回答 1

1

这是我从 Shiny Google Group 得到的答案:https ://groups.google.com/forum/?fromgroups=#!topic/shiny-discuss/XmW9V014EtI

作为 downloadHandler 的“内容”参数给出的函数采用一个选项,“文件”。单击下载按钮时,下载处理程序调用该函数,并使用文件参数告诉它应该将输出文件保存在哪里。

我看不到从 knit2html() 设置输出文件名的方法,但您可以在创建后重命名它:

  output$downloadData <- downloadHandler(
    filename ="ShinyData.html", 
    content = function(file) {
      knit2html("myreport.rmd")
      file.rename("myreport.html", file)
    }
  )

(此外,您在 ui.r 中缺少右括号)

-温斯顿

于 2013-04-11T16:01:08.887 回答