「キャレット」ライブラリを使用して、いくつかのツリーで相互検証を行っています。
ライブラリはtrain
、名前付き引数「メソッド」を受け取る という関数を提供します。その省略記号を介して、他の引数をそれが呼び出す別の関数にフォールスルーさせることになっています。この別の関数 ( rpart
) は、同じ名前の「メソッド」の引数を取ります。
したがって、同じ名前の 2 つの引数を渡したいのですが、明らかに失敗しています。以下に示すように回避しようとしましたが、エラーが発生します。
「train.default(x = myx, y = myy, method = "rpart2", preProcess = NULL, : 仮引数 "method" が複数の実引数と一致するエラー」
どんな助けでも大歓迎です!ありがとう!
train.wrapper = function(myx, myy, mytrControl, mytuneLenght, ...){
result = train(
x=myx,
y=myy,
method="rpart2",
preProcess=NULL,
...,
weights=NULL,
metric="Accuracy",
trControl=mytrControl,
tuneLength=mytuneLenght
)
return (result)
}
dtree.train.cv = train.wrapper(training.matrix[,2:1777],
training.matrix[,1],
2, method="class")