私はneuralnet
を使用してニューラルネットワークをトレーニングしています。パッケージ、具体的には、プロット関数neuralnet
は、昨年から基本パッケージであるgrid
に依存しています。しかし、私は手動でgrid
をロードしない限り、プロットが失敗した:library(grid)
を使用してrequireNamespaceが必要な機能をロードしていません
AND <- c(rep(0,7),1)
OR <- c(0,rep(1,7))
binary.data <- data.frame(expand.grid(c(0,1), c(0,1), c(0,1)), AND, OR)
net <- neuralnet::neuralnet(AND + OR ~ Var1 + Var2 + Var3, binary.data,
hidden = 0, linear.output=FALSE)
if(requireNamespace("grid")) {
neuralnet::plot.nn(net)
}
> Error in plot.nn(net, rep = i, x.entry, x.out, radius, arrow.length, intercept, :
> could not find function "grid.newpage"
は役立ちますが、私は後で自分のパッケージにそれを使用したいのでことを避けたいです。 R PackagesはrequireNamespace
を使用するように提案していますが、上記のようにどちらも役に立ちません。
grid
関数のすべての呼び出しの前にgrid::
を追加し、ソースからパッケージをビルドすると問題が解決されますが、それは意図された動作ですか? neuralnet
の出典を見ると、requireNamespace
,library
またはこれに類するものについては触れられていません。しかし、それではなぜ私のrequireNamespace
は荷物を積み重ねてくれませんか?
ありがとうございました。今、私のパッケージを公開すると、人々はコンパイルされたバージョンではなく、CRANの 'neuralnet'パッケージを使用します。私のコードから問題を回避することができますか? 'attachNamespace'を使って? – sebastianmm
@sebastianmmこれまでに(そして*それが指摘している答えで)リンクされた私の他の答えで述べたように、パッケージメンテナーに連絡してパッケージのインポート** grid ** 。追加する必要がある行を提供することもできますし、テストしたこと、そしてそれが機能することを知らせることもできます。それ以外は**神経ネット**に依存しなければならないと思うので、**グリッド**が付いてくると残念です。 –
それでは、neuralnetを 'Imports'から' Depends'に移動するだけですか?とにかく私はメンテナーに連絡します。再度、感謝します。 – sebastianmm