いくつかの依存関係を持つパッケージを作成しようとしています。 library()
を使用して依存関係を手動で読み込むことができますが、パッケージと一緒に自動的に読み込まれるようにしたいと思います。 DESCRIPTION
ファイルのImports
という属性がジョブに使用できるとは思っていましたが、それは私にとっては効果がありません。パッケージの作成時に依存関係を指定する方法は?
だから私は完全に新しいセッションでゼロから始めています:
sessionInfo()
R version 3.3.0 (2016-05-03)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.4 (El Capitan)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] tools_3.3.0
その後、私は私のセッションに再び見て実際に
Imports:
dplyr,
zipcode,
readxl,
mosaic
を輸入し、私のパッケージ、私は指定された依存関係をロードmypackage_0.1.0
が正しくロードされました。
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] mypackage_0.1.0
loaded via a namespace (and not attached):
[1] Rcpp_0.12.4 nloptr_1.0.4 plyr_1.8.3 tools_3.3.0 mosaic_0.13.0 testthat_1.0.2 digest_0.6.9
[8] lme4_1.1-12 zipcode_1.0 memoise_1.0.0 gtable_0.2.0 nlme_3.1-127 lattice_0.20-33 mgcv_1.8-12
[15] Matrix_1.2-6 DBI_0.4-1 parallel_3.3.0 SparseM_1.7 ggdendro_0.1-20 gridExtra_2.2.1 withr_1.0.1
[22] dplyr_0.4.3 stringr_1.0.0 roxygen2_5.0.1 MatrixModels_0.4-1 devtools_1.11.1 grid_3.3.0 nnet_7.3-12
[29] R6_2.1.2 readxl_0.1.1 mosaicData_0.13.0 minqa_1.2.4 reshape2_1.4.1 ggplot2_2.1.0 car_2.1-2
[36] magrittr_1.5 scales_0.4.0 splines_3.3.0 MASS_7.3-45 assertthat_0.1 pbkrtest_0.4-6 colorspace_1.2-6
[43] quantreg_5.21 stringi_1.0-1 munsell_0.4.3 crayon_1.3.1
私は、 "ロードされた名前空間"パッケージのいずれかから他の関数をネストする関数を書くと、エラーが出ます。例えば、:
私が書いているパッケージの他の機能の中でのみ、依存関係の関数を使うことができたと思っていました。しかし、f()
をパッケージの新機能として定義したところ、同じエラーが発生しました。
NAMESPACEファイルが保存され再読み込みされることを再確認することが推奨されています。
これはf()
機能を持つ私のNAMESPACEファイルです。
# Generated by roxygen2: do not edit by hand
export(chain_spreadsheet)
export(f)
export(mapping)
export(stalary)
しかし、ドキュメントを再生成してパッケージを再読み込みした後でも、私はまだ同じ問題があります。
NAMESPACEファイルも更新しましたか? – cdeterman
申し訳ありませんが、私は二重チェックしました。はい、私はNAMESPACEを更新しました。まだ動かない。 – Dambo
表示している機能やパッケージ内の機能を参照していますか? NAMESPACEを更新したら、パッケージを再構築/再インストールする必要があります。これがまだ問題になっている場合は、おそらくNAMESPACEに質問に追加する必要があります。 – cdeterman