用Shiny下载.RData文件

时间:2014-04-12 22:10:13

标签: r shiny

我正在创建一个Shiny应用程序,我的一个输出最好保存为用户的.RData文件。

我可以下载各种其他格式的数据,但我不确定如何使用.RData。保存R对象的另一种方法也可以。服务器端的一些虚拟代码如下所示:

# Make widget
widget <- 1:42

# Download widget
output$widget <- downloadHandler(
  filename=paste0("widget_", Sys.Date(), ".RData"), 
  content=function(file){
    save(widget), file=file)
  }
)

我可以点击下载按钮,它会刷新我的窗口,但下载队列中没有任何项目。

1 个答案:

答案 0 :(得分:2)

我尝试以.RData格式保存随机的Forest模型。下面的代码对我有用。希望同样适合你。

<强> ui.R

downloadButton(&#39; downloadModel&#39;,&#39;下载RF模型&#39;,class =&#34; dlButton&#34;)

<强> server.R

步骤1。创建一个reactiveValue来保存反应函数,在我的例子中是随机森林模型rf1()

# Create a reactive value rf2 to store the random forest model rf1().
rf2 <- reactiveValues()
observe({
  if(!is.null(rf1()))
  isolate(
    rf2 <<- rf1()
  )
})

第二步。像你一样,将reactiveValue保存在downloadHandler中。

# Download Random Forest Model
  output$downloadModel <- downloadHandler(
    filename <- function(){
      paste("RF Model.RData")
    },

    content = function(file) {
      save(rf2, file = file)
    }
  )

希望这适合你。