Ric*_*ton 6 namespaces r roxygen2
创建R包时,至少有两种方法可用于引入导入包中的函数.
要么,
无论何时调用它,都使用双冒号运算符明确命名该函数package::function.
直接或通过roxygen标签添加importFrom(package, function)到NAMESPACE文件中#' @importFrom package function.
每种方法有哪些优缺点?
每种语法实现的技术差异是否存在?
支持使用的论据 package::function
它完全清楚了功能的来源.
支持使用的论据 @importFrom package function
它涉及较少的打字,特别是当您的包使用多次功能时.
由于它涉及查找包和调用::函数,package::function因此运行时性能损失很小.请参阅/sf/answers/509845801/.
总的来说,判决是什么?
这两种方法都可以完成这项工作,并且无论是哪种方式都不是压倒性的,所以不要为此而失眠.只需选择一种方法并坚持下去.
我工作地点采用的政策是,对于一些常用的包装,@importFrom应使用roxygen标签.例如,开发人员应知道,ddply来自于plyr,或开始功能str_来自stringr.在这种情况下,函数的显式父母对于知道并不那么有用.对于这个核心名单之外的功能,(或者如果有任何含糊之处)::应采用以明确它是从哪里来的.