2012-02-10 8 views
6

estoy tratando de agregar una función de operador binario a un paquete mío, pero no se está cargando con el paquete. Por ejemplo, yo defino esta función y lo guarda como un archivo llamado 'wo.R'creando una función de operador binario dentro de un paquete

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

y crear el archivo de documentación '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) 
} 

cuando corro R CMD check myPackage se le da a este error al verificar el ejemplo de documentación: Error: could not find function "%wo%" Execution halted. Puedo eliminar el ejemplo e instalar mi paquete con éxito, pero la función% wo% no se está cargando con mi paquete. Puedo obtener el archivo 'wo.R' en una sesión R y funciona. También puedo definir la función como wo <- function(x, y) x[!x %in% y] y parece funcionar bien. busqué el código fuente para otros paquetes, como 'operadores', y mis archivos de fuente y documentación parecen consistentes con ellos, pero obviamente estoy pasando por alto algo.

+1

¿Está la exportación de la función? ¿Si es así, cómo? Si está utilizando una expresión regular para exportar, quizás eso necesite una actualización, o simplemente exporte esta función en particular. – Andrie

+0

@ Andrie- aha! ese era el problema. Acabo de tener el predefinido 'exportPattern ("^[[: alpha:]] + ")' en el archivo NAMESPACE. agregando 'export ("% wo% ")' hizo el truco. ¡Gracias! – pistachionut

Respuesta

11

Necesita exportar la función en su NAMESPACE.

añadir una sentencia export a su archivo de documentación:

export("%wo%") 
Cuestiones relacionadas