6
我想添加一个二进制运算符函数到我的包,但它不是加载的包。例如,我定义这个功能,并将其保存为一个名为“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%函数未加载到我的包中。我可以在R会话中获取'wo.R'文件,它可以工作。我也可以定义函数为wo <- function(x, y) x[!x %in% y]
,这似乎工作正常。我探讨了其他软件包的源代码,比如'操作员',我的源代码和文档文件似乎与他们一致,但我显然忽略了一些东西。
你导出功能?如果是这样,怎么样?如果您使用正则表达式导出,可能需要更新,否则只需导出此特定函数。 – Andrie 2012-02-10 09:30:49
@ Andrie-哈哈!这是问题所在。我只是在NAMESPACE文件中预定义了'exportPattern(“^ [[:alpha:] +”)''。添加'export(“%wo%”)'诀窍。谢谢! – pistachionut 2012-02-10 09:42:29