2016-10-18 5 views
1

R 패키지에서는 몇 가지 기능이 패키지 설명서 .pdf 파일에서 생략되어 있으며, 여러 함수가 함께 문서화 된 S3 방법입니다. 다른 모든 "정상적인"기능이 올바르게 표시되므로 S3 방법을 올바르게 문서화하지 못하고있는 것 같습니다.S3 매뉴얼이 패키지 설명서에 나타나지 않습니다.

myfun에 대한 항목을 설명서에 표시하고 싶습니다. 지금은 함수가 .pdf 매뉴얼에서 완전히 빠져 있지만 여전히 제대로 호출 될 수 있으며 도움말 페이지는 ?myfun으로 참조됩니다. Roxygen2 키워드가 잘못 되었습니까?

#' @export 
myfun <- function(...) UseMethod("myfun") 

#' @inheritParams myfun 
#' @describeIn myfun Create a frequency table from a vector. 
#' @export 
#' @keywords internal 

myfun.default <- function(vec, sort = FALSE, show_na = TRUE, ...) { 
... 
} 

#' @inheritParams myfun.default 
#' @describeIn myfun Create a frequency table from a data.frame, 
#' supplying the unquoted name of the column to tabulate. 
#' @export 
#' @keywords internal 
tabyl.data.frame <- function(.data, ...){ 
... 
} 

는 (나는 @title, @description, @param, @return, @examples 라인이 짧은이 질문을 계속하지만, 해당 경우이를에서 편집 할 수 있습니다 생략). 그들은 트리플 콜론 :::을 사용하지 않는 사용자는, myfun()하지 myfun.default() 또는 myfun.data.frame()를 볼 수 있도록

일반적인 방법은 의도 한대로 수출하고 있습니다. 그 동작을 유지하고 싶습니다. 따라서 사용자는 myfun을 호출하고 패키지 설명서에는 myfun에 대한 항목이 있습니다.

+0

지금은 'myfun'이 설명서에 전혀 표시되지 않습니다. 'myfun.default'와'myfun.data.frame'을위한 섹션을 원하지 않습니다, 매뉴얼에서'myfun'에 대한 항목을 원합니다 - 나는 그 질문을 더 명확하게 할 것입니다. –

답변

0

두 개의 방법에서 @keywords internal을 제거했는데 그 이유는 패키지 설명서에 myfun입니다. 또한 @describeIn myfun 대신 @rdname myfun으로 전환하여 함수 설명서에서 "메서드 (클래스 별) :" 섹션을 제거했습니다. 분리 할이 열심히 만든 무엇

내가 세션을 다시 시작하지 않는 다음 devtools::document()를 실행하면, 방법 myfun.data.framemyfun.default이 RStudio의 자동 완성에서 볼 수 있으며 직접 호출 할 수 있었다. 그것들은 사용자가 접근 할 수 없도록되어 있습니다. Roxygen2 문서가 비난받을 것이라고 생각했습니다.

사실 내가 수행해야하는 작업은 @keywords internal입니다. myfun.data.framemyfun.default

방법은, 예를 들어 ?, ?myfun.default를 입력 한 후 자동 완성에 나타납니다,하지만 난 그 주위에 방법이 없다고 생각 (그리고 어쨌든, 세 myfun 기능을 위해 하나의 도움말 페이지에 지시). 이것은 표준입니다. 예를 들어 ?print.aov은 표시 가능한 도움말 파일이며 print.aov()은 직접 호출 할 수 없습니다.