我有两个关于在magrittr
包&中编写函数的相关问题。包括在一个包中。
以正常的方式编写函数,如果任何步骤使用library(package.a)
中的函数,则可以在函数调用中指定package.a
。您如何在pipe
环境(来自magrittr
)中调用此内容?
问题的这一部分出现在我尝试打包我的函数时,我的一些函数使用magrittr
的方法来创建函数。我无法将这些功能添加到包中。 Devtools
包的combine
功能无法识别%>%
管道。基本上我不得不将它们重新写入普通函数以将它们包含在包中。你怎么克服这个?
答案 0 :(得分:5)
更新您的NAMESPACE
文件,请参阅1.5 Package namespaces
添加import(magrittr)
,不要忘记在Imports: magrittr
文件中添加DESCRIPTION
。
关于您对::
的评论
在使用import(magrittr)
导入所有magrittr导出函数时,您不必使用::
运算符指向包。
当然,只要您没有在包中创建具有相同名称的功能,该功能将覆盖导入包中的名称,那么您需要::
。
如果您使用::
代替importFrom()
并且未导入所需功能,则需要import()
- 无论如何都不建议这样做。
您可能希望使用::
的另一种情况是,当您使用Suggests
或Enhances
时,无论如何都不会在该问题的范围内。