2016-07-21 7 views
0

私はVSURFとrandomForestをRで使用しようとしていますが、predict.VSURF、predict.randomForest、plot.VSURFのようなライブラリの関数は機能せず、次のエラーが出ます:VSURFとrandomForest

エラー:機能を見つけることができませんでした "predict.VSURF"

は、ここで再現可能な例を示します

library(randomForest) 
library(VSURF) 
data(cars) 
fit <- VSURF(x = cars[1:402,2:ncol(cars)], y = cars[1:402,1]) 
#At this step I get the error: Error: could not find function "predict.VSURF" 
preds <- predict.VSURF(fit, newdata = cars[403:804,2:ncol(cars)]) 

答えて

1

RはVSURFクラスオブジェクトとしてfitを認識し、それのためにVSURF.predictを呼び出します。代わりにpredict()を使用してください。

また、あなたの例を見てでは、VSURFは一つだけのx変数投げるために、このエラーを失敗しているようだ:

Error in matrix(NA, nrow = nfor.thres, ncol = ncol(x)) : non-numeric matrix extent

mtcarsを使用してのみpredict()、VSURFは私のために正常に動作します。

data("mtcars") 
fit <- VSURF(x = mtcars[1:25,2:ncol(mtcars)], y = mtcars[1:25,1]) 
preds <- predict(fit, newdata = mtcars[26:32, 2:ncol(mtcars)]) 
+0

なぜpredsに2つの列があるのか​​知っていますか?私は "pred"列は予測だと思いますが、他の列が何であるか分かりません。 – IJH

+0

@IJH VSURFは、一度「解釈」ステップと「予測」ステップでデータを繰り返し予測しているようです。 'step =" pred "'を使って出力を制限できます。 –

関連する問題