Wie kann man eine Matrix on the fly bewerten?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich bin sicher, dass es eine einfache Antwort auf dieses Problem gibt, aber ich kann es nicht verstehen. Ich versuche, die Entfernung zwischen zwei Objekten mithilfe einer Entfernungsmatrix zu berechnen. Ich kann den folgenden JSL-Code nicht zum Laufen bringen:
dt = Open (dist matrix.jmp);
m = dt << Alle Spalten als Matrix abrufen ();
dt2 = Open (students.jmp);
col = Spalte ("Prefect No");
B = col << Getasmatrix;
n = nrow (dt2);
a = j (n, 1,0);
für (i = 1, i <= n, i ++, a = m [b , 4]);
show (a);
Bei der Bewertung von m [,] wird immer eine Fehlermeldung angezeigt. Ich habe Eval und andere Dinge ausprobiert, aber es funktioniert nicht.
Kann jemand helfen?
Re: Wie kann man eine Matrix on the fly bewerten?Ich habe meinen Datensatz in Excel gespeichert und wieder in JMP eingefügt. Nun ist dieser Datensatz, wenn er in eine Matrix umgewandelt wird, in der richtigen Reihenfolge. Ich muss die Standardreihenfolge der Spalten zurückgesetzt haben, als ich sie in JMP neu erstellt habe. Also jetzt geht alles. Danke für die Hilfe.
Re: Wie kann man eine Matrix on the fly bewerten?Hast du einen Beispieldatensatz? Ich hatte einen und versuchte den folgenden Code, und er hatte die richtige Reihenfolge. Es ersetzte die Zeichenwerte jedoch durch '1', was genau dem entspricht, was ich erwarten würde.
dt = aktuelle Datentabelle ();
m = dt << Alle Spalten als Matrix abrufen ();
show (m);
Re: Wie kann man eine Matrix on the fly bewerten?Ich habe herausgefunden, was der Hauptfehler war. Einige der Zeilen enthielten fehlende Werte, und als JMP den fehlenden Index auszuwerten versuchte, bombardierte es. Also habe ich folgenden Code verwendet:
zum ( ich = 1 . ich <= n . ich ++ ob (( nicht ( wird vermisst ( EIN [ ich ]))) . C [ ich ] = m [ EIN [ ich ] . 8 ] . C [ ich ] = . )) ;
Es funktioniert gut.
Jetzt ist mein einziges Problem das, wenn ich es benutze
m = dt << Alle Spalten als Matrix abrufen ();
Die nachfolgende Matrix m ist nicht in der Reihenfolge, in der ich sie im Datensatz habe. So versuchen Sie herauszufinden, wie Sie die ursprüngliche Reihenfolge einhalten. Irgendwelche Ideen?