我正在使用devtools
构建 R 包,并且有些功能并非旨在对最终用户可见。但是,由于这些函数涉及到调用 C 代码.Call
,所以我必须@useDynLib
在函数上方编写 .Rd 文件的自动生成。这样,当我构建包时,即使我没有包含@export
这些功能,它们仍然出现在帮助文档中......有没有办法抑制这些功能,即使它们已经记录在案?谢谢!
问问题
3284 次
3 回答
27
根据 Hadley 的评论,使用@keywords internal
将使最终用户无法看到该功能。详细信息可以在wiki 页面中找到devtools
。
于 2013-04-10T15:45:13.653 回答
11
已接受答案中链接的 wiki 不再讨论@keywords internal
(截至 2016 年 4 月)。如果有人看到一个例子有帮助:
# multiplyBy3
#' This is an example of an internal function called \code{multiplyBy3()}
#'
#' Sometimes you want internal functions as part of an R Package built with
#' RStudio and roxygen2, but you don't want .Rd files created for them
#' or to have them be visible in the help document following the build process
#'
#' @keywords internal
#'
#' @param base_num The number to multiply by three
#'
#' @import jsonlite
#'
#' @return Returns a numeric vector
#'
multiplyBy3 <- function(base_number) {
stopifnot(is.numeric(base_number))
return(base_number * 3)
}
关键位:不包括@export
和包括@keywords internal
于 2016-04-18T19:00:14.383 回答
10
对我来说,@keywords internal
没有用(roxygen2 6.1.1)。我能够在我的 roxygen 评论中使用以下内容来达到预期的结果:
@noRd
于 2019-03-05T17:24:17.373 回答