2016-07-21 7 views
0

Ich versuche VSURF und randomForest in R zu verwenden, aber die Funktionen in den Bibliotheken wie predict.VSURF, predict.randomForest und plot.VSURF funktionieren nicht und ich erhalte den folgenden Fehler:VSURF und randomForest

Fehler: konnte nicht funktionieren "predict.VSURF"

Hier ist ein reproduzierbares Beispiel finden:

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)]) 

Antwort

1

R erkennt fit als VSURF Klasse Objekt und rufen VSURF.predict dafür. Sie verwenden stattdessen predict().

Auch bei Ihrem Beispiel in suchen, scheint VSURF diesen Fehler nur für eine x-Variable Wurf zum Scheitern verurteilt:

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

Mit mtcars und nur predict(), VSURF gut für mich funktioniert.

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

Wissen Sie, warum Preds zwei Spalten hat? Ich denke, dass die "Pred" -Spalte die Vorhersagen ist, aber ich bin nicht sicher, was die andere Spalte für – IJH

+0

@IJH VSURF scheint, die Daten iterativ vorherzusagen, einmal in einem "Interpretation" -Schritt und schließlich in einem "Vorhersage" -Schritt. Sie können die Ausgabe begrenzen, indem Sie 'step =" pred "' verwenden. –

Verwandte Themen