假设我正在编写一个包含两个函数的小R包,除了一个之外,它们具有相同的参数.这是一个例子:
fct1 <- function(r, K){...}
fct2 <- function(r, p, K){...}
Run Code Online (Sandbox Code Playgroud)
在我的第一个函数的roxygen2文档中,我使用以下标记:
#' @param r description of argument r
#' @param K description of argument K
Run Code Online (Sandbox Code Playgroud)
对于第二个函数,我使用以下标记:
#' @param p description of argument p
#' @inheritParams fct1
Run Code Online (Sandbox Code Playgroud)
在使用roxygenize处理我的代码之后,函数fct2的.Rd文件按以下顺序显示参数:p,r,K.我希望它们的顺序与使用部分中的顺序相同,即:r, p,K.如何在不手动更改.Rd文件的情况下获取此订单?
我坚持使用@inheritParams来避免复制和粘贴.
谢谢!
小智 2
我也有同样的问题。现在我使用一些小技巧来避免错误的参数顺序。
使用代码(例如在单独的 .R 文件中):
#' Function arguments
#'
#' @keywords integral
#'
#' @name fargs
#'
#' @param r ..
#' @param p ..
#' @param K ..
#'
#'
NULL
Run Code Online (Sandbox Code Playgroud)
并使用
#' @inheritParams fargs
Run Code Online (Sandbox Code Playgroud)
对于这两个功能。
在本例中,这很容易,但在更复杂的示例中,您可以使用此代码的许多块(每种类型的参数都有单独的块)。也许这不是那么简单的方法,但你不会在任何地方重复相同的代码。我将该块存储在单独的 args.R 文件中,因此每个继承参数都位于一个文件中。
另一种方法是使用模板,但这种方法不灵活,您必须为每个块创建单独的 .R 文件。所以我建议你使用类似的代码块。