создание бинарной операторской функции в пакете - PullRequest
7 голосов
/ 10 февраля 2012

Я пытаюсь добавить бинарную операторскую функцию в мой пакет, но она не загружается вместе с пакетом. например, я определяю эту функцию и сохраняю ее как файл с именем 'wo.R'

`%wo%` <- function(x, y) {
    x[!x %in% y]
}

и создайте файл документации 'wo.Rd'

\name{\%wo\%}
\alias{\%wo\%}
\title{Without}
\description{Elements in one vector without matching elements in a second vector.}
\usage{x \%wo\% y}
\arguments{
  \item{x}{A vector.}
  \item{y}{A vector.}
}
\value{A vector.}
\author{me, based on example in the \code{\link{match}} function documentation.}
\examples{
(1:10) \%wo\% c(3,7,12)
}

при запуске R CMD check myPackage выдает эту ошибку при проверке примера документации: Error: could not find function "%wo%" Execution halted. я могу удалить пример и успешно установить мой пакет, но функция% wo% не загружается с моим пакетом. я могу получить файл 'wo.R' в сеансе R, и он работает. я также могу определить функцию как wo <- function(x, y) x[!x %in% y], и это, кажется, работает нормально. я искал исходный код для других пакетов, таких как «операторы», и мои исходные файлы и файлы документации, похоже, соответствуют им, но я явно что-то упускаю.

1 Ответ

13 голосов
/ 10 февраля 2012

Вам необходимо экспортировать функцию в NAMESPACE.

Добавить оператор export в файл документации:

export("%wo%")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...