2016-04-03 3 views
0

次のことは、私を数日間忙しくしています。 cv.tree実際のパラメータにdata.frameをスライスするとエラーが発生する

require(tree) 
subset <- 1:nrow(iris) 
formula <- as.formula("Species ~ .") 

iris <- iris[ subset, ] 
tfit <- tree(formula = formula, data = iris) 
mclass <- cv.tree(object = tfit, FUN = prune.misclass) 

tfit <- tree(formula = formula, data = iris[ subset, ]) 
mclass <- cv.tree(object = tfit, FUN = prune.misclass) 

最後の呼び出しでエラーが発生します:

Error in xj[i] : invalid subscript type 'closure' 

は私がtfitmclassの2つの構成は同等であったと思っているだろう。私は何が欠けている。

答えて

1

これはスコープ上の問題です。 cv.treeは、subsetベクトルの代わりにsubset関数を検索します。これがエラーメッセージに表示される内容です。 'closure'は機能の一種です。

subsetベクトルの名前を変更することで問題を解決できますが、これはバグで、パッケージメンテナーに報告する必要があります。

+0

ありがとうございました。私はちょうど 'R'でプログラミングを始めました.... –

関連する問題