2016-07-21 31 views
0

我想在R中使用VSURF和randomForest,但庫中的函數像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將認識fit爲VSURF類對象並調用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有兩列嗎?我認爲「預測」列是預測,但我不確定另一列是什麼 – IJH

+0

@IJH VSURF似乎反覆預測數據,一旦進入「解釋」步驟,最後進入「預測」步驟。你可以用'step =「pred」'限制輸出。 –