为什么Roxygen会识别某些函数和方法,并重命名命名空间中的某些函数?

为什么Roxygen会识别某些函数和方法,并重命名命名空间中的某些函数?,r,namespaces,package,roxygen2,R,Namespaces,Package,Roxygen2,我正在接管一个R项目,我正试图尽可能地与我之前参与该项目的人保持一致 我为正在开发的软件包创建了几个函数。在每个函数上面,我都有#@export,它用于在roxygen2中创建名称空间文件: #' @export a.function = function(x){ # do stuff } #' @export another.function = function(x){ # do stuff } 当我使用roxygen2创建文档时,创建的名称空间文件将一些函数分类为方法。句点()也将转换

我正在接管一个R项目,我正试图尽可能地与我之前参与该项目的人保持一致

我为正在开发的软件包创建了几个函数。在每个函数上面,我都有
#@export
,它用于在
roxygen2
中创建
名称空间
文件:

#' @export
a.function = function(x){
# do stuff
}

#' @export
another.function = function(x){
# do stuff
}
当我使用
roxygen2
创建文档时,创建的
名称空间
文件将一些函数分类为方法。句点(
)也将转换为逗号(
)。例如,上面函数的名称空间可能显示为

S3method(a.function)
export(another.function)
export(yet,another.function)
此外,在我之前参与该项目的人员在命名函数时偶尔会使用3个句点:

yet.another.function = function(x){
# do stuff
}
但是
Roxygen2
名称空间
文件中的所有函数中,都将第一个句点转换为一个逗号。我的意思是,上面的函数将显示为

S3method(a.function)
export(another.function)
export(yet,another.function)
命名空间
文件中

我的问题如下:

  • Roxygen
    如何区分一些函数作为
    S3method
    和一些函数,并在
    命名空间中使用
    export

  • 是否可以强制或强制Roxygen将所有函数识别为函数并使用导出

  • 是否可以停止
    Roxygen
    将函数名中的句点转换为
    命名空间
    文件中的逗号

不幸的是,我无法在
Roxygen
文档或其他有关堆栈溢出的帖子中直接找到这些问题的答案。

查看并查看和