2016-10-18 10 views
1

私のRパッケージでは、パッケージマニュアルの.pdfファイルからいくつかの機能が省略されています。他のすべての「通常の」関数は正しく表示されるため、私は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

2つの方法で@keywords internalを削除しました。これは、パッケージのマニュアルにmyfunと表示されています。また、@describeIn myfunの代わりに@rdname myfunに切り替えて、関数のマニュアルで「メソッド(クラス別):」というセクションを削除しました。単離するのが、これは難しい作っ何

は、私はその後、devtools::document()を実行した場合、セッションを再起動していないということでした、方法myfun.data.framemyfun.defaultはRStudioのオートコンプリートで表示され、直接呼び出すことができます。彼らはユーザーがアクセスできるはずではないと思っていました。私はRoxygen2のドキュメントが責任あると思っていました。

実際には、@keywords internalを削除するだけでした。

方法myfun.data.framemyfun.default?myfun.default、例えば、?を入力した後、オートコンプリートで表示されないが、(とにかく、それはすべての3つのmyfunの機能のために、単一のヘルプページに指示し)私はその周りに方法はありませんと思います。これは標準です。たとえば?print.aovは目に見えるヘルプファイルで、print.aov()は直接呼び出すことはできません。

関連する問題