gpt4 book ai didi

R:解绑和使用 Packrat 快照的说明

转载 作者:行者123 更新时间:2023-12-01 13:57:10 25 4
gpt4 key购买 nike

我使用 packrat (v 0.4.8.-1) 创建了一个快照,并捆绑了与相应 R 代码一起使用的 R 包依赖项。我想向其他人提供 R 代码和 packrat 包,使我正在做的工作(包括 R 环境)完全可重现。

我使用与我用来编写 R 代码和创建 bundle 的计算机不同的计算机测试了拆分。我在 R studio 中打开了一个 R 代码文件,并调用了 library(packrat) 来加载 packrat(也是 v 0.4.8-1)。然后我调用了 packrat::unbundle(bundle = "directory", where = "directory"),它成功解绑了。但随后调用 packrat::restore() 给了我错误“这个项目还没有打包。运行‘packrat::init()’来初始化 packrat”。似乎 init() 应该不是必需的,因为我不是在尝试创建新快照,而是利用 bundle 中的快照。 packrat 页面 ( https://rstudio.github.io/packrat/ ) 和 CRAN 提供的关于拆分的文档很少以帮助解决此问题,或者我可以向使用我的代码的用户提供说明(他们可能会熟悉 R,但可能没有使用过 packrat)。

那么,有人可以提供清晰的分步说明,说明捆绑快照的用户应如何解除捆绑,然后使用保存的快照运行 R 代码文件吗?

最佳答案

经过一些试验,我发现了一种目前看来行之有效的方法。

我已经为用户提供了三个文件:

-tar.gz (packrat bundle file)
-unbundle.R (R code file that includes a library statement to load
the packrat library, and the unbundle command for the tar.gz file)
-unbundle_readme.txt

自述文件包含与以下类似的说明,到目前为止,用户已经能够使用包依赖项运行 R 代码。自述文件告诉用户有关要求(R、R studio、packrat、R 包开发先决条件(Rtools for Windows、XCode for Mac)),并包括 sessionInfo() 的输出以记录 R 代码在说明后应使用的 R 包版本被跟随。在下面的示例中,“code_folder”指的是包含 R.code 和相关输入文件的 tar.gz 文件中的文件夹。

解绑说明示例:

第一步

保存但不展开/解压缩 tar 文件到一个目录。访问保存的包依赖项时出现问题更有可能是 R 或 R studio 以外的程序用于解压缩 tar 文件。

如果tar文件已经展开,重新保存tar 文件到新目录,该目录不应该相同目录作为扩展的 tar 文件,或扩展的 tar 文件。

第二步

将 unbundle.R 保存在与 tar 文件相同的目录中

第 3 步

使用 R studio 打开 unbundle.R

第四步

执行unbundle.R(这将创建一个子文件夹“code_folder”。请注意,此步骤可能需要 5-15 分钟才能运行。)

第 5 步

关闭 R 工作室

第 6 步

导航到子文件夹“cold_folder”

第七步

使用 R studio 打开 R 脚本(包库应与下面列出的对应。这将指示 R studio 正在访问保存的包依赖关系。)

第 8 步

执行 R 代码,这将利用项目包库。使用上述方法加载包库后步骤,没有必要为每个重新加载包库脚本。 R studio 将继续访问包依赖项对于您在 R 工作室 session 中打开的每个脚本。如果你随后关闭 R-studio,然后从内部打开脚本解包目录,R studio 仍应访问无需重新加载已保存包的依赖项快照。

关于R:解绑和使用 Packrat 快照的说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41435077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com