2015-05-29 2 views
3

В моем пакете я написал функционал, который принимает функцию в качестве входного сигнала и создает другую функцию. Как я могу документировать функцию, созданную с помощью такой процедуры?R Roxygen2: Как записать функцию, сгенерированную другой функцией?

Ниже приведена иллюстрация: используйте функцию преобразования sin() (которая принимает радианный вход) до sind(), которая принимает входные данные в градусной единице.

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

Вот некоторые документы для функции ниже ...

sind <- rad2deg(sin) 

The rad2deg просто моя утилита функционал используется только меня и, таким образом, не экспортируются и не документированы. Мне нужно экспортировать только sind. Но я понятия не имею, как это можно сделать, поскольку оно даже не распознается как функция, и у него даже нет явного аргумента (конечно, неявно он принимает аргумент функции sin). Таким образом, даже тег @param не может быть использован.

Есть ли у кого-нибудь идеи?

ответ

1

Это работает. Следующий код генерирует Rd-файл и директиву NAMESPACE для функции sind.

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) 
Смежные вопросы