gpt4 book ai didi

r - 使用 R 包分发半实时数据集有哪些方法?

转载 作者:行者123 更新时间:2023-12-02 08:41:04 24 4
gpt4 key购买 nike

我正在使用 devtools 构建一个供内部使用的包。我想让包从文件/连接加载数据(根据包的构建日期而有所不同)。数据很大,因此最好在包构建期间一次性解析和加载数据。

目前,我在 R/ 下有一个 data.R 文件,它将数据分配给包级变量,这些值是在包安装期间分配的(或者至少看起来是这样) 。这种不太理想的设置大部分都有效。为了使包的所有实例都具有相同的数据,我必须将数据文件与包一起分发(当前在构建包之前,它由帮助程序脚本复制到 inst/ ),而不是只是将它们全部打包在一起。一定有更好的方法。

如:

  • 在软件包构建过程中生成 .rda 文件(但这不需要在软件包安装过程中运行相同的代码)
    • 我可以用 Makefile 来做到这一点,但这似乎有点矫枉过正
    • 我可以拥有仅在软件包构建期间而不是在安装期间运行的 R 代码吗?
  • data/中运行R代码
    • 但是数据是使用相关包中的代码进行修改的。我可以用 Collat​​e 来解决这个问题(我认为),但随后我必须维护所有 .R 文件的顺序(但随着复杂性的增加,我最好使用一个 Makefile?)
  • 构建两个包,一个包含我想要的所有代码,另一个包含数据。
  • 我没有想到的明显而聪明的事情。

tl;dr:有哪些方法可以将动态更改数据的快照添加到卡住部署的 R 包中?

最佳答案

作为@BenBolker points out in the comments above ,将数据集拆分成不同的包在社区中已有先例(最著名的是核心包 datasets),并且具有额外的好处。

函数与数据的分离还使得使用最新函数更容易处理数据的历史版本。

我目前有一个 tools-to-munge 包和一个 things-to-munge 包。使用帮助程序脚本,我可以构建 tools-to-munge 并在 DESCRIPTION 中设置 Suggests(或 Depends)两个包的 code> 指向包的适当递增版本。构建新的 tools-to-munge 包后,我可以根据需要使用 tools-to- 中的函数构建 things-to-munge 包。 munge 包。

关于r - 使用 R 包分发半实时数据集有哪些方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14074627/

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