【问题标题】:Read a .RDS file from remote host using Shiny使用 Shiny 从远程主机读取 .RDS 文件
【发布时间】:2021-03-31 00:37:05
【问题描述】:

我正在从www.shinyapps.io 托管我的第一个闪亮的应用程序。我的 r 脚本使用了我在本地创建的 glm,我存储为 .RDS 文件。

如何使用免费文件主机(例如 Dropbox 或 Google Drive)直接将该文件读入我的应用程序? (或其他更好的选择?)

test<-readRDS(gzcon(url("https://www.dropbox.com/s/p3bk57sqvlra1ze/strModel.RDS?dl=0")))

但是,我得到了错误:

Error in readRDS(gzcon(url("https://www.dropbox.com/s/p3bk57sqvlra1ze/strModel.RDS?dl=0"))) : 
  unknown input format

我认为这是因为 URL 没有直接指向文件,而是指向 Dropbox 的登录页面?

话虽如此,我似乎找不到任何具有该功能的免费文件托管网站。

与往常一样,我确信解决方案非常明显,感谢您提供任何帮助。

【问题讨论】:

    标签: r shiny glm


    【解决方案1】:

    我想通了。将文件托管在 GitHub 存储库中。从那里我能够将链接复制到原始文件并将该链接放在readRDS(gzcon(url())) 包装器中。

    【讨论】:

      【解决方案2】:

      使用readRDS() 远程阅读可能会令人失望。您可能想试试这个包装器,它在本地读取数据集之前将其保存到临时位置:

      readRDS_remote <- function(file, quiet = TRUE) {
        if (grepl("^http", file, ignore.case = TRUE)) {
          # temp location
          file_local <- file.path(tempdir(), basename(file))
          # download the data set
          download.file(file, file_local, quiet = quiet, mode = "wb")
          file <- file_local
        }
        readRDS(file)
      }
      

      【讨论】:

        猜你喜欢
        • 2012-06-23
        • 2017-09-09
        • 2017-01-21
        • 2017-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多