Roxygen2:使用可选参数记录函数

时间:2016-10-19 21:11:36

标签: r roxygen2

roxygen使用可选参数(如

)记录函数的正确方法是什么
#' @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)
}

特别应该如何评论可选参数chambershgt

1 个答案:

答案 0 :(得分:2)

我只想为每个参数添加一个@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会在包装检查过程中发出警告。