Я использую devtools
для сборки R-пакета, и есть некоторые функции, которые НЕ предназначены для видимости конечным пользователям. Однако, поскольку эти функции включают вызовы кодов C с помощью .Call
, так что мне нужно написать @useDynLib
над функцией автоматической генерации файлов .Rd. Таким образом, когда я создаю пакет, даже я НЕ включал @export
для этих функций, они тем не менее отображаются в справочном документе... Есть ли способ подавить эти функции, даже если они были задокументированы? Спасибо!
Не показывать файл справки по функции в сборке R-пакета roxygen2
Ответ 1
Согласно комментариям Хэдли, использование @keywords internal
сделает функцию невидимой для конечных пользователей. Подробности можно найти здесь на страницах wiki devtools
.
Ответ 2
Вики, связанные в принятом ответе, больше не обсуждаются @keywords internal
(по состоянию на апрель 2016 года). В случае, если кому-то будет полезно посмотреть пример:
# 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