假设我正在编写一个小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来避免复制和粘贴。
谢谢!
答案 0 :(得分:2)
我有同样的问题。现在我用小技巧来避免错误的争论顺序。
使用代码(例如,在单独的.R文件中):
#' Function arguments
#'
#' @keywords integral
#'
#' @name fargs
#'
#' @param r ..
#' @param p ..
#' @param K ..
#'
#'
NULL
并使用
#' @inheritParams fargs
两种功能。
在这种情况下很简单,但在更复杂的示例中,U可以使用此代码的许多块(对于每种类型的参数都使用单独的块)。 也许它不是那么简单,但你不要在任何地方重复相同的代码。我将该块存储在单独的args.R文件中,因此每个继承参数都在一个文件中。
另一种方法是使用模板,但这种方法不灵活,对于每个块,您必须创建单独的.R文件。所以我建议你使用simmilary代码块。