我正在创建一个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)
}
)
我可以点击下载按钮,它会刷新我的窗口,但下载队列中没有任何项目。
答案 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)
}
)
希望这适合你。