首页 文章

用Shiny下载.RData文件

提问于
浏览
1

我正在创建一个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 回答

  • 2

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

    ui.R

    downloadButton('downloadModel','Download RF Model',class =“dlButton”)

    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()
      )
    })
    

    第2步 . 像你一样,将reactiveValue保存在downloadHandler中 .

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

    希望这对你有用 .

相关问题