我有一些我需要在一个包中提供的功能,我不想导出它们或为它们编写文档。我只是将它们隐藏在另一个函数中,但它们需要可用于多个函数,因此这样做会成为一个范围和维护问题。这样做的正确方法是什么?我的意思是他们需要特殊名称,他们是否去了R
子目录以外的其他地方,我可以把它们放在一个文件中吗?我已经查看了手册,我所追求的就像核心中的.internals
概念,但我没有任何关于如何做到这一点的说明。我以为我之前已经看过这个,但是现在找不到它。 THX。
答案 0 :(得分:1)
在询问R-help之后,这是答案。 @Dwin是正确的,不要导出内部函数(因此在NAMESPACE中修复导出指令 - 不要使用exportPattern
,而是使用export
显式命名函数。您可以根据需要调用它们,没有特殊的命名约定。如果不导出它们,则不必为它们编写Rd文件。
答案 1 :(得分:1)
我的解决方案是从NAMESPACE中删除不必要的函数,并通过NAME-OF-PACKAGE ::: NAME-OF-INTERNAL-FUNCTION调用内部函数。例如,如果您的包名称是RP,并且内部函数的名称是IFC。然后就像RP ::: IFC()。请注意,如果使用::(两个冒号),则可以调用NAMESPACE中列出的函数,当使用:::(三个冒号)时,可以调用所有函数,包括内部函数和导出函数。