3

私は 3 つのオブジェクトの残差正規性を評価しようとしています: 1 つの lm() オブジェクト、1 つの nnet() および 1 つの randomForest()。コードを使用した lm() の場合:

> qqnorm(rstudent(lmodel)); qqline(rstudent(lmodel))"

それはうまくいきました。しかし、nnet() と RandomForest() では成功しませんでした:

> Error in UseMethod("rstudent") : 
  no applicable method for 'rstudent' applied to an object of class "nnet"

誰かがこの問題に対処するための提案を持っていますか?

4

1 に答える 1

2

rstudentはいわゆるジェネリック関数です。これは、rstudent異なる入力オブジェクトに対して異なる関数を呼び出すことを意味します。コンピュータサイエンスでは、これはポリモーフィズムとして知られています。つまりrstudent、ポリモーフィズム関数です。たとえばrstudent(lm())、関数をトリガーしますrstudent.lm

ジェネリック関数のこれらの特定の実装は、関数がサポートするすべてのオブジェクトタイプに対して作成する必要があり、自動的に生成されるわけではありません。rstudent表示されるエラーは、ニューラルネット関数の出力に特定の実装がないことを示しています。つまり、Norstudent.nnetです。

解決策は、この特定の実装を自分で作成するか、その実装をパッケージメンテナに提案することです。

于 2013-01-20T13:48:09.210 に答える