最初の R パッケージに取り組んでいるときに、パッケージ構造が man ディレクトリ "man" に作成されると、コード内の各関数/メソッドのドキュメント ファイルがあることに気付きました。
DRY を維持するために (繰り返さないでください)、いくつかの関数をループまたは反復で「補助」関数として使用しました。エンドユーザーが直接呼び出すべきではないことを考えると、ドキュメントを提供したくないことをRにどのように伝えることができますか?!?!
roxygen2
およびパッケージを使用してdevtools
、関数を文書化し、パッケージをビルドします。
#' Function 1 Title
#'
#' Describe what function 1
#' does in a paragraph. This function
#' will be exported for external use because
#' it includes the @export tag.
#'
#' @param parameter1 describe the first parameter
#' @param parameter2 describe the second parameter
#' @examples
#' function1(letters[1:10], 1:10)
#' @export
function1 <- function(parameter1, parameter2) {
paste(parameter1, parameter2)
}
#' Function 2 Title
#'
#' Description here. This will not
#' be added to the NAMESPACE.
#'
#' @param parameter1
function2 <- function(parameter1) {
parameter1
}
すべてのドキュメントを入手したら、パッケージ内のツールを使用して、devtools
パッケージをビルド、ドキュメント化、およびチェックします。manファイルとDESCRIPTIONを自動的に更新し、NAMESPACEに関数を追加/削除します。
document()
build()
check()
rbundler
また、パッケージを使用して、パッケージのロード方法を制御することをお勧めします。
NAMESPACE を介してそれらをエクスポートしない場合、ドキュメントを提供する必要はありません。
もう 1 つの (古い) ものは単純すぎて、1 つを作成し、多数internal.Rd
の定義を作成\alias{foo}, \alias{bar}, \alias{frob}
し、そのように codetools も満足しています。
@Jojoshua-ulrich と @dirk-eddelbuettel に感謝します
「R 拡張機能の記述」によると、次のようになります。
man サブディレクトリには、R ドキュメント (Rd) 形式のパッケージ内のオブジェクトのドキュメント ファイル (のみ) が含まれている必要があります。ドキュメントのファイル名は、ASCII (小文字または大文字) 文字または数字で始まり、拡張子 .Rd (デフォルト) または .rd が必要です。さらに、名前は「file://」URL で有効でなければなりません9。詳細については、R ドキュメント ファイルの作成を参照してください。パッケージ内のすべてのユーザー レベル オブジェクトを文書化する必要があることに注意してください。パッケージ pkg に「内部」使用のみのユーザーレベルのオブジェクトが含まれている場合、そのようなすべてのオブジェクトを文書化するファイル pkg-internal.Rd を提供する必要があり、これらがユーザーによって呼び出されることを意図していないことを明確に示します。例として、R ディストリビューションのパッケージ グリッドのソースを参照してください。
ところで、関数の説明、引数の説明などをコードから直接取得できるように、コードにコメントを含める規則はありますか?