功能未被添加到NAMESPACE

时间:2016-09-08 19:55:56

标签: r roxygen2 r-package

我有一个功能,我正在尝试添加到包中。我正在通过devtools::document()生成文档。这个和~70个其他函数的.Rd文件生成成功,但这个函数没有添加到命名空间。

可以在以下链接中找到该文件,也许重要的是,该文件称为truncate.distribution.r。我有很多其他函数,在名称中有句点,所以我几乎可以肯定这不是问题。

然而,当我经历NAMESPACE时,我注意到这一行S3method(truncate,distribution),并想知道相似的名字是否是巧合(即逗号,而不是句号)。我尝试从名称中删除句点,并重新生成文档和NAMESPACE,这一切都运行得很好 - 也就是说,函数随包一起导出。

虽然更改后的名称有效,但我想了解它失败的原因以及我将来如何防止类似的失败。另外,我喜欢原来的名字。 :)

有人有什么想法吗?非常感谢。

2 个答案:

答案 0 :(得分:1)

所以你们是对的,这与名字中的句号有关。导致问题的特定文件是名称的第一部分(“truncate。”...)已经是基本函数,因此被解释为S3方法。

感谢所有回答的人。我不确定为什么我会被拒绝 - 知道不在函数名称中使用句子不是固有的知识,也不是我在任何地方明确禁止的(即Hadley'sGoogle's样式指南)。

答案 1 :(得分:0)

我发现了另一个类似悲痛的潜在原因。我的Roxygen代码的最后一行在#' @export命令中输入错误,导致同样的不良行为