2016-08-29 7 views
-1

Ich habe zwei Funktionen. Einer zum Trainieren eines Klassifikators und einer zum Vorhersagen von Testdaten. Wenn ich die Vorhersagefunktion Schritt für Schritt durchführe, funktioniert es gut, aber wenn ich die Vorhersagefunktion aufruft, erhalte ich einen Fehler. Ich kann nicht wissen, was passiert, weil der Code der Funktion keine manuell kompilierten Fehler hat. Ich habe die zwei Funktionen und die Daten auf Github hochgeladen. you can access hereseltener Fehler beim Ausführen meiner Funktion in R

modelFit=mdp(Class = dades[,1],data=dades[,-1],lambda = 1,info.pred = T) 
predict.mdp(modelFit, dades[1:5,-1]) 
Error in D[row, i] : subscript out of bounds 

Vielen Dank für alles, was Sie tun können,

Antwort

0

Der Grund war ich sehen konnte, zu helfen, dass in D[row, i], variable row die Anzahl der Zeilen in D. Überschwingens wurde row sich von vec abgeleitet ist. neu: for(row in vec.new)

Dieses Stück ist der Täter:

start=dim(D)[1] 
vec.new=(start+1):(start+dim(newdata)[1]) 

vec.new beginnt von nrow(D)+1, so dass sogar das erste Element tatsächlich knapp jenseits der Größe von D ist.

Sie können cat(row) in Code einfügen und sehen.

Ich denke, Sie müssen darüber nachdenken, was start sein sollte.

Verwandte Themen