Weiß jemand, wie man Parameter aus einer Formelspalte in einer Datentabelle abruft?
Ich verwende die nichtlineare Plattform, um Parameter für eine benutzerdefinierte Gleichung zu schätzen.Ich möchte einige dieser Parameter abrufen, damit ich sie verwenden kann, um einem Diagramm Referenzlinien hinzuzufügen.Wie bekomme ich die Parameter in mein Skript?
Ich habe versucht, "Get Formula" zu verwenden, das die Formel selbst in einer Variablen zurückgibt.Aber obwohl es wie eine Zeichenkette aussieht, ist es das nicht.Ich kann es also nicht mit etwas wie "Enthält" abfragen (was einen Fehler ausgibt).
Folgendes funktioniert nicht:
names default to here(1);
clear log();
dt=current data table();
a=column("Ypred")<<GET formula=""></GET>
Die Ausgabe sieht so aus:
a = Parameter({x2 = 43.392460252954, x3 = 99.9985293436864, b1 = 0.217052884609186, tau0 = 6.8300208159237, b2 = 13.6749994042758, b3 = 2.0025718816485, xoffset2 = 79.8284250939869, b4 = 12.72. b0 = 0.731036046206343}, If(:x < x1, b0 * (:x < x1), :x < x2, b1 * Exp((:x - xoffset1) / tau0) * (:x >= x1 & :x < x2), :x < x3, (b2 + b3 * (:x - x2)) * (:x >= x2 & :x < x3), b4 * (1 - Exp(-((:x - xoffset2) / tau2))) * (:x >= x3)));
erwartet Integer beim Zugriff oder der Auswertung von 'x2' , "x2" /*###*/
in Zeile 11 im Skript für Beispiel 2
Hallo Jerry,
Es sieht so aus, als würde JMP versuchen zu bewerten ein, was es nicht kann, da es nicht alle Parameter im Ausdruck kennt (aufgrund des Bereichs). Die Funktion NameExpr( ) verhindert dies... prüfen Sie, ob Folgendes funktioniert:
contains(char(nameexpr(a)), "x2");
Danke schön,
Brady
Die Spaltenformel ist ein JSL-Ausdruck. Dies kann einfach oder komplex sein, je nachdem, welches Modell Sie angegeben haben. Sie könnten zwar die Koeffizienten ausgraben, aber wenn der gesamte Anpassungsprozess in den Umfang Ihres Codes fällt, ist es möglicherweise einfacher, sie aus dem Anpassungsbericht abzurufen.
Guter Gedanke, aber (leider) der gleiche Fehler wie vor Brady.