【问题标题】:Downloading .RData files with Shiny使用 Shiny 下载 .RData 文件
【发布时间】:2014-04-12 22:10:12
【问题描述】:

我正在创建一个闪亮的应用程序,我的一个输出最好保存为用户的 .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)
  }
)

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

【问题讨论】:

  • 您是否过早关闭括号? save(widget), file=file) 应该是 save(widget, file=file)?

标签: r shiny


【解决方案1】:

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

ui.R

downloadButton('downloadModel', '下载射频模型', 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)
    }
  )

希望这对你有用。

【讨论】:

  • 这个方法只是说明一下,rk2实际上是定义为一个全局变量,不再是一个反应值,因为它是反应函数的结果。对?这会对其他会话产生影响吗?
猜你喜欢
  • 1970-01-01
  • 2016-10-30
  • 2016-01-09
  • 1970-01-01
  • 2013-05-20
  • 2014-02-18
  • 2021-09-03
  • 2013-07-13
  • 1970-01-01
相关资源
最近更新 更多