使用roxygen2标签@inheritParams时,.Rd文件中的参数说明顺序

时间:2011-11-28 16:42:50

标签: r roxygen2

假设我正在编写一个小R包,其中包含两个函数,除了一个之外,其他参数相同。这是一个例子:

fct1 <- function(r, K){...}
fct2 <- function(r, p, K){...}

在我的第一个函数的roxygen2文档中,我使用以下标记:

#' @param r description of argument r
#' @param K description of argument K

对于第二个功能,我使用以下标签:

#' @param p description of argument p
#' @inheritParams fct1

使用roxygenize处理我的代码后,函数fct2的.Rd文件按以下顺序显示参数:p,r,K。我希望它们的顺序与使用部分中的顺序相同,即:r,p,K。如何在不手动更改.Rd文件的情况下获取此订单?

我坚持使用@inheritParams来避免复制和粘贴。

谢谢!

1 个答案:

答案 0 :(得分:2)

我有同样的问题。现在我用小技巧来避免错误的争论顺序。

使用代码(例如,在单独的.R文件中):

#' Function arguments
#'
#' @keywords integral
#'
#' @name fargs
#'
#' @param r ..
#' @param p ..
#' @param K ..
#' 
#' 
NULL

并使用

#' @inheritParams fargs

两种功能。

在这种情况下很简单,但在更复杂的示例中,U可以使用此代码的许多块(对于每种类型的参数都使用单独的块)。 也许它不是那么简单,但你不要在任何地方重复相同的代码。我将该块存储在单独的args.R文件中,因此每个继承参数都在一个文件中。

另一种方法是使用模板,但这种方法不灵活,对于每个块,您必须创建单独的.R文件。所以我建议你使用simmilary代码块。