R Roxygen2:如何记录另一个函数生成的函数?

时间:2015-05-29 11:43:21

标签: r roxygen2

在我的包中,我编写了一个函数,它将函数作为输入并生成另一个函数。如何记录通过这样的程序生成的函数?

下面是一个例子:使用函数将sin()(取弧度输入)转换为sind(),以度单位为单位输入。

rad2deg <- function(f) {
  force(f)
  function(x) f(x / 180 * pi)
}

以下是以下功能的一些文档......

sind <- rad2deg(sin)

rad2deg只是我的实用功能,仅供我使用,因此不会导出也不会记录。我只需要导出sind。但是我不知道它是如何完成的,因为它甚至不被认为是一个函数,它甚至没有一个明确的参数(当然隐含地它需要sin函数的参数) 。因此,甚至不能使用@param标记。

有没有人有任何想法?

1 个答案:

答案 0 :(得分:1)

有效。以下代码为sind函数生成Rd文件和NAMESPACE指令。

rad2deg <- function(f) {
  force(f)
  function(x) f(x / 180 * pi)
}

#' sin for degrees
#' @param x an angle in degrees
#' @return sin(x)
#' @export
sind <- rad2deg(sin)