在R中,您是否允许用户仅从某些功能导入命名空间?

时间:2015-09-05 19:46:10

标签: r namespaces package

假设我有一个包含大量功能的R包。我希望用户能够选择导入的功能。

基本上,我将功能分组为用例。假设A组有50个函数,B组有30个函数,有C,D和E组等。我不想导出所有函数并用500个函数重载命名空间(其中95%是不需要) - 在一个脚本中,我可以使用A组和B组的功能,在B组和D组的另一个脚本中。我可以允许用户只导入包中定义的功能的子集吗?我无法通过阅读文档来解决这个问题。

显而易见的答案是,这些应该是独立的包装;但我真的不想这样做,因为它们之间存在逻辑联系,它们彼此沟通(并使用),这会使维护它们变得更难。

穷人的方式(我目前使用的)是每组功能都在一个单独的文件中,然后我只需要我需要的文件。但是我希望这个包装正确。

任何方式来实现我想要的目标?

1 个答案:

答案 0 :(得分:0)

您需要在顶级包目录中定义NAMESPACE文件。请阅读writing R extensions

中的所有详细信息