R debugging: "nur Nullen können mit negativen Indices gemischt werden"

9

Ich habe ein Skript, das funktioniert, wenn ich es manuell in R Studio ausführe, aber nicht funktioniert, wenn ich es über einen Wrapper von einem anderen Programm aus laufe.

Ich bekomme diese Informationen in meiner Debug-Ausgabe:

%Vor%

Wenn ich das Bild speichern, bevor ich den Fehler bekomme und dann in R Studio lade, erhalte ich den gleichen Fehler, wenn ich GetTopN(10) ausführe. Wenn ich jedoch die Anweisung actionlist<- sqlQuery(channel,al_string) in R Studio erneut ausführen und dann GetTopN(10) ausführen, funktioniert alles so, wie es sollte.

Ich habe sogar versucht, das Bild direkt vor dem kritischen Aufruf in R Studio zu speichern und dann vor dem Ausführen von GetTopN (10) durch den Wrapper zu laden, und ich habe den gleichen Fehler bekommen.

Ich habe überprüft und alle relevanten Variablen (crs, z, x, n) scheinen die richtigen Werte zu haben. Ich habe keine Ahnung, was die Ursache dafür sein könnte, und ich würde wirklich etwas Hilfe schätzen!

Hier wird was (in der Reihenfolge) ausgeführt:

%Vor%

Ich habe meinen Arbeitsbereich auch gespeichert, wenn es helfen könnte (4.7 MB): Arbeitsbereich Wenn die Verbindung zu meiner MySQL-Datenbank helfen würde, sollte sie auf 74.73.17.163:3306

geöffnet sein     
Mike Furlender 10.02.2012, 00:57
quelle

1 Antwort

10

Das Problem: actionlist$RPos[1000] hat einen Wert von 21. n1 liegt zwischen -31 und 0. Wenn Sie sie hinzufügen, erhalten Sie einen Vektor mit einer Mischung aus positiven und negativen Werten, was in der Teilmenge nicht erlaubt ist.

Wie ich dahin gekommen bin: Überprüfen Sie zuerst traceback() :

%Vor%

Das sagt mir das Problem ist in actionlist$RPos[i] + n1 am wahrscheinlichsten. Dann habe ich einfach eine einfache print(i) -Anweisung hinzugefügt, um mir zu sagen, welche Iteration das Problem war. (Alternativ hätten Sie möglicherweise actionlist$RPos + n1 für Problemstellen manuell überprüfen können.

    
joran 10.02.2012, 01:18
quelle

Tags und Links