Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:分解和使用packrat快照的说明_R_Packrat - Fatal编程技术网

R:分解和使用packrat快照的说明

R:分解和使用packrat快照的说明,r,packrat,R,Packrat,我使用packrat(V0.4.8.-1)创建了一个快照和R包依赖项包,这些依赖项和相应的R代码一起使用。我想向其他人提供R代码和packrat包,以使我正在做的工作(包括R环境)完全可复制 我使用一台不同于我用来编写R代码和创建捆绑包的计算机来测试分拆。我在R studio中打开了一个R代码文件,并调用了库(packrat)来加载packrat(也就是V0.4.8-1)。然后我调用了packrat::unbundle(bundle=“directory”,where=“directory”),

我使用packrat(V0.4.8.-1)创建了一个快照和R包依赖项包,这些依赖项和相应的R代码一起使用。我想向其他人提供R代码和packrat包,以使我正在做的工作(包括R环境)完全可复制

我使用一台不同于我用来编写R代码和创建捆绑包的计算机来测试分拆。我在R studio中打开了一个R代码文件,并调用了库(packrat)来加载packrat(也就是V0.4.8-1)。然后我调用了packrat::unbundle(bundle=“directory”,where=“directory”),它成功地解除了绑定。但随后调用packrat::restore()时出现错误“此项目尚未打包。请运行'packrat::init()'以初始化packrat”。似乎不需要init(),因为我不打算创建新的快照,而是利用捆绑包中的快照。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包开发先决条件(适用于Windows的Rtools、适用于Mac的XCode)),并包括sessionInfo()的输出,以记录R包版本,R代码在遵循说明后应使用这些版本。在下面的示例中,“code_folder”是指tar.gz文件中包含R.code和相关输入文件的文件夹

分解说明示例:

第一步 将tar文件保存到一个目录中,但不要展开/解压。 访问保存的包依赖项时出现问题 在R或R studio以外的程序中 用于拆分tar文件

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

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

步骤3 使用R studio打开unbundle.R

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

步骤5 关闭R工作室

步骤6 导航到子文件夹“cold_folder”

步骤7 使用R studio打开R脚本 (软件包库应与下面列出的对应。 这将表明R studio正在访问保存的包 依赖项。)

步骤8 执行R代码,它将利用项目包库。 在使用上述方法加载包库之后 步骤,则无需为每个步骤重新加载包库 剧本R studio将继续访问包依赖项 对于在R studio会话中打开的每个脚本。如果你 随后关闭R-studio,然后从内部打开脚本 解包目录R studio仍应访问 无需重新加载已保存包的依赖项
快照。

基于沉默,似乎更适合将这个问题/观点放在桌面上。好问题,顺便说一句。您是否尝试过从命令行执行所有步骤?如果是,你能分享吗?