関数内のforループ(randomForestなど)を使用して、さまざまな値を反復処理するとします。
for (i in c(100, 200, 500)){
randomForest(Predictor ~., data = train, ntree = i)}
評価したいrandomForest関数に渡される値の1つは、デフォルト値です(randomForestのntreeのデフォルト値が500であることがわからないとします)。
forループでそれを指定するにはどうすればよいですか?
for (i in c(100,200, default)){
randomForest(Predictor ~., data = train, ntree = i)}
で値を検索するとformals
、すべてのデフォルト値を含むリストが表示されます。ただし、すべての関数がまったく同じ方法で処理するわけではないため、独自の問題があります。
最初の問題はあなたの例で明らかになります:デフォルトなしでformals(randomForest)
あなたx
と...
、だけを与えます。これは、randomForestがジェネリックメソッドであり、最初の引数のクラスに基づいて異なる引数を受け入れるためです。のデフォルトを取得するにはntree
、
formals(randomForest:::randomForest.default)$ntree
私が考えることができるいくつかのより多くの問題:
somedataframe[1]
とsomedataframe[1,]
またはの違いを見たことがありsomedataframe[,1]
ますか?デフォルトは何ですか?match.call()
とmatch.call
デフォルトで指定されているように充填すべての引数で、異なる結果が得られます。まとめると、ループの外に電話をかけるか、 if ... else
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加