2012-02-10 10 views
6

バイナリ演算子関数をパッケージに追加しようとしていますが、パッケージはロードされていません。例えば、私は、この関数を定義し、「wo.R」バイナリ演算子関数をパッケージ内に作成する

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

という名前のファイルとして保存し、私はR CMD check myPackageを実行したときに「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) 
} 

それはこれを与えドキュメントファイルを作成しますドキュメントの例を確認する際にエラー:Error: could not find function "%wo%" Execution halted。私はこの例を削除してパッケージを正常にインストールできますが、%wo%関数はパッケージでロードされていません。私はRセッションで 'wo.R'ファイルをソースすることができ、それは動作します。私はまた、wo <- function(x, y) x[!x %in% y]として関数を定義することができ、それはうまくいくようです。私は '演算子'のような他のパッケージのソースコードを詮索しました。私のソースとドキュメントファイルは一貫しているようですが、私は明らかに何かを見落としています。

+1

をあなたが機能を輸出していますか?もしそうなら、どうですか?エクスポートする正規表現を使用している場合は、更新が必要な可能性があります。そうでない場合は、この特定の関数をエクスポートしてください。 – Andrie

+0

@ Andrie- aha!それが問題でした。 NAMESPACEファイルに、あらかじめ定義された 'exportPattern("^[[:alpha:]] + ")'があります。 'export("%wo% ")を追加するとそのトリックが行われました。ありがとう! – pistachionut

答えて

11

NAMESPACEで関数をエクスポートする必要があります。

は、あなたのドキュメントファイルにexportステートメントを追加します。

export("%wo%") 
関連する問題