2016-11-25 19 views
3

おそらく非常に基本的な質問に答えるために多くの時間を費やしましたが、私の問題の解決策を見つけることができません。私が見つけた最も近いものは、数年前のthis exchangeでした。パッケージ内のsysdata.rdaからのデータの自動読み込み

この場合、問題はパッケージ内の正しいディレクトリにあるsysdata.rdaファイルの場所です。それは私の問題ではありません。

私は、パッケージ内で面白いカラーパレットのようなものを保存する変数があります。これらの変数は私の関数の中でのみ使われるので、それらをR/sysdata.rdaに格納します。しかし、パッケージをロードすると、変数はパッケージ環境にロードされません。 sysdata.rdaから手動でデータをロードすると、すべて正常に動作します。

Rパッケージの内部データにあるすべてのものを読んだのは、R/sysdata.rdaのデータが自動的に読み込まれるという印象でした。

私のデータを保存するために使用しているコードは次のとおりです。

devtools::use_data(tmpBrks, tmpColors, prcpBrks, prcpChgBrks, 
        prcpChgBrkLabels, prcpColors, prcpChgColors, 
        internal = TRUE, overwrite = TRUE) 
R/sysdata.rdaにデータファイルが正常に作成され、手動でロードするとデータがファイルに格納されます。

データを自動的にロードして、パッケージ内の関数で使用できるようにするには、何が必要ですか?

答えて

4

いつものように、これはユーザの無知と悪いRドキュメントの悪い組み合わせです。データは、がロードされ、機能で使用可能でした。私が間違っていたところは、パッケージ環境でデータが見えると仮定していました。そうではありません。

私が知る限り、R \ sysdata.rdaファイルの内部データはパッケージ内の関数で使用できますが、どのようにも表示されません。内部データファイルを作成した後、私はパッケージ環境でデータを探していました。私はそれを見ていないとき、私はそれが読み込まれていないと仮定した。私がパッケージの開発を進めてきたとき、私は最後に、データが静かにロードされ、パッケージ内の関数にアクセスできることに気付きました。

私の質問には2つの票がありますが、私はR \ sysdata.rda内部データの動作を理解していない唯一の人ではありません。うまくいけば、この説明は、実際には存在しないこの問題に対する答えを探すために、他の誰かに時間を節約するでしょう。

+0

http://r-pkgs.had.co.nz/data.htmlには良い文書がありますが、それが自動的に読み込まれたことを明確にしていないので、あなたの投稿が私に助けになりました。 –

関連する問題