2016-10-19 4 views
3

特にRoxygen2:オプションのパラメータ

#' @name dbh2vol 
#' @usage dbh2vol(dbh,ipft) 
#' @description This is an allometric function to return the tree volume 
#' @param dbh diameter at breast height 
#' @param ipft PFT 
#' @return vol volume 
#' @export 

dbh2vol <- function(dbh,ipft,...,hgt, chambers = FALSE){ 

    if (missing(hgt)) hgt = other_function (dbh, ipft) 
    vol = hgt * dbh^pft$vol[ipft] 
    if (chambers) vol = vol * 2 

    return(vol) 
} 

のようなオプションのパラメータを持つ関数を文書roxygenの正しい方法は何であるとの機能を文書化する方法をする必要があり、オプションのパラメータchambershgt上の1件のコメント?引数がオプションである場合

+0

私は理解できません...それらのために '@ param'エントリを追加します...? – joran

+0

と@usageを除外してください。 – rawr

+1

要点は、2つのパラメータ 'hgt'と' chambers'は、オプションであるという意味で他のパラメータと本質的に異なります。そのうちの1つは「TRUE」に設定され、他方は外部機能を呼び出す。これについてのドキュメントを読者に知らせる正しい方法は何ですか? – Manfredo

答えて

0

私はこのように、単に各引数に@paramフィールドを追加し、明示的に記述します。

#' @name dbh2vol 
#' @usage dbh2vol(dbh,ipft) 
#' @description This is an allometric function to return the tree volume 
#' @param dbh diameter at breast height 
#' @param ipft PFT 
#' 
#' @param chambers optional parameter that is blah-blah... FALSE by default 
#' @param hgt function to do this and that (optional). 
#'    If not provided, \code{other_function(dbh, ipft)} is used. 
#' 
#' @return vol volume 
#' @export 

dbh2vol <- function(dbh,ipft,...,hgt, chambers = FALSE){ 

    if (missing(hgt)) hgt = other_function (dbh, ipft) 
    vol = hgt * dbh^pft$vol[ipft] 
    if (chambers) vol = vol * 2 

    return(vol) 
} 

をお使いのユーザーがドキュメントを読み込む場合は、彼/彼女は、これらの引数がオプションであることを知っているだろう。そうでない場合、彼/彼女はこれらの議論を省略することによって実験的にそれを把握するでしょう。

これが役に立ちます。

P.S.良いRコーディングの練習では、とそれぞれ関数の引数を記述する必要があります。これをしないと、Roxygen2はパッケージチェック中に警告を出します。

関連する問題