2011-11-07 26 views
4

パッケージに私のユーティリティ関数をまとめました。しかし、私はパッケージをインストールした後にアクセスできないようです。私はソースからパッケージをインストールするエラーメッセージが パッケージをインストールしてロードした後にオブジェクトが見つかりません

  • がない、パッケージの構築フォームError: object 'function_name' not found

    1. のエラーを取得し、パッケージをロードするエラーメッセージ
    2. はありません、エラー・メッセージがない(ライブラリー()もパッケージのドキュメントは、かつて私はドキュメントと名前空間
    01を生成するroxygen2を使用してい
  • をアクセス可能にロードされる())
  • 必要

    どのような考えですか?

  • +2

    NAMESPACEを作成し、使用可能にするすべての機能をエクスポートしましたか? – Andrie

    答えて

    5

    NAMESPACEを使用していて、対象のオブジェクトを追加していませんか?

    roxygen2を使用している場合、ネームスペースに含める機能に#' @export function_nameを追加したことを思い出しましたか?

    +0

    NAMESPACEというファイルがありますが、自分で作成しませんでした。それは空です - それには何があるのですか? –

    +1

    私はあなたに先んじて、最も優れた「Writing R Extensions」マニュアルを読んでいると思います:)「[r] NAMESPACE」の検索結果にも数十の記事があります。それは20分ですべてはっきりとしたものになるでしょうが、あなたはその足をしなければなりません。 –

    +0

    すべてを1行にエクスポートするように指示する方法はありますか?個々の機能を書き出す必要はありませんか? –

    3

    関数名がエクスポートされていない場合は、あなたが使用する必要があるかもしれませんが、「:::」

    pkgname:::function_name 
    

    私はCRANは今、名前空間を必要とし、私はRの2.14.xでも、それらを必要とするかもしれないと思うと信じています。

    +0

    +1、はい、そうです - パッチノートに気付いています。 –

    +1

    R 2.14パッケージにNAMESPACEがない場合、パッケージのR 2.14ビルドには、すべてのオブジェクトをエクスポートし、インポートまたは依存にリストされているすべてをインポートするNAMESPACEが追加されます。 –

    +1

    @G.Grothendieck興味深い。私は、RがNAMESPACEファイルを見て実際に何かを含んでいるかどうかを調べるのが賢明ではないかと思います。私は空のNAMESPACEを持っていました、そして、それは私の問題が入ったところです。 –

    0

    同じ問題がNAMESPACEファイルを変更する必要があります。いつかNAMESPACEの内容は、次のようになります。

    # Generated by roxygen2: do not edit by hand

    しかし、あなたはこのように、手ことによってそれを変更する必要があります。

    # Generated by roxygen2: do not edit by hand 
    export("function_name1", "function_name2") 
    

    または使用は、すべての機能をエクスポートします。