首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Roxygen2:用可选参数记录函数

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

Stack Overflow用户
提问于 2016-10-19 21:11:35
回答 1查看 2.1K关注 0票数 6

用可选参数记录函数的正确方法是什么,如

代码语言:javascript
复制
#' @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

EN

回答 1

Stack Overflow用户

发布于 2017-08-03 09:25:18

我只需为每个参数添加一个@param字段,如果参数是可选的,则显式写入,如下所示:

代码语言:javascript
复制
#' @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将在包检查期间发出警告。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40141604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档