如何根据另一个包的输出更新 R 包中的内部数据?

问题描述 投票:0回答:1

我目前正在开发两个包,第一个包用于处理和存储数据,第二个包是一个闪亮的应用程序包,它使用第一个包的输出作为应用程序的内部数据。

第一个包生成 3 个

.rda
文件,假设它们被称为
df_list_1.rda
df_list_2.rda
df_list_3.rda
。正如名称所示,每个对象都包含一个对象列表,而不仅仅是一个
data.frame

我只是想知道:

  1. 如何在第二个Shiny包中将它们合并为一个
    R/sysdata.rda
  2. 如果第一个包的数据更新了,我需要更新第二个包的内部数据,流程是什么样的?
  3. 工作代码保存在哪里?应该保存在第一个包还是第二个包中?

非常感谢。

r shiny r-package
1个回答
0
投票

我认为 R 没有办法做你想做的事。 一个包可以依赖于另一个包,但没有办法说“如果包 B 发生更改,则必须重建包 A”。

事实上,通常没有必要。 如果包 A 需要访问包 B 中数据的最新版本,那么它不应该存储副本,它应该在每次需要数据时向包 B 询问数据。 执行此操作的标准方法是让包 B 导出包含数据或函数的对象以从文件中读取数据,而包 A 只是通过从包 B 导入来使用这些导出。

© www.soinside.com 2019 - 2024. All rights reserved.