0
他のパッケージでマスクされているbase
機能の問題が2度発生しました。他のパッケージをライブラリに読み込むことはできますが、base
パッケージをマスクすることはできません。ベースパッケージのマスクを解除したまま
他のパッケージでマスクされているbase
機能の問題が2度発生しました。他のパッケージをライブラリに読み込むことはできますが、base
パッケージをマスクすることはできません。ベースパッケージのマスクを解除したまま
一般に、検索パスに名前空間を付けずにパッケージを使用することは常に可能です。読み込みではなく、読み込みは、同じ名前の関数同士が衝突する原因です。それは、::
オペレータが指定された名前空間からエクスポートされた関数を呼び出すことを意味し
loadNamespace("pkg")
pkg::pkgfunc(a, b, ...)
行う代わりに
library(pkg)
pkgfunc(a, b, ...)
で、です。あなたは問題に遭遇するかもしれませんが、少数ですべきです。
他の言語のプログラマーの場合は、パッケージを使用するたびにlibrary()
というRの通常の方法よりもよく慣れています。 (私はこの問題に対処するためにRがパッケージネームスペースを必須にしてから何年にもわたって、すべてのパッケージを地球環境にロードしてから何年も経ちました。代わりにbase
関数の接頭辞としてbase::
を付けることができます。これは、基本パッケージ内の関数への明示的な参照であるため、同じ名前の他の関数は無視されます。
base::sum(1:10)
base::list(a=1, b=2, c=3)
このような包括的な回答をいただきありがとうございます。名前空間からのエクスポートではなく、パッケージを読み込んだ後に毎回接頭辞を使用するだけでは(なぜなら接頭辞を使用しなければならないように思われる)のはなぜですか? – Bonono