Betreff: Berechnen Sie die Fläche unter der Kurve durch Integration und füllen Sie das Ergebnis in einer neuen Spalte aus.Versuchen Sie herauszufinden, wie die von JMP generierte Formel aussieht. Sie wird höchstwahrscheinlich Ihre Zeit durch :time ersetzen. Verwenden Sie also einen anderen Namen für die Variable und den inneren Ausdruck als die Spalten in Ihrer Datentabelle (und wickeln Sie sie möglicherweise in As Constant() ein).
As Constant(
resp = Expr(a * a);
area = Integrate(resp, a, Col Min(:time), Col Max(:time));
)
Betreff: Berechnen Sie die Fläche unter der Kurve durch Integration und füllen Sie das Ergebnis in einer neuen Spalte aus.Was ist, wenn der von Integrate verwendete Ausdruck aus der Formel in einer Spalte extrahiert werden muss, um beispielsweise mithilfe einer Formel aus einer Polynomanpassung zu integrieren?
In der folgenden Tabelle würde die Formel in der Prädiktorspalte :time und :response verwenden. Gibt es eine schnelle Syntax, um die Spaltennamen durch neue Variablen zu ersetzen?

Betreff: Berechnen Sie die Fläche unter der Kurve durch Integration und füllen Sie das Ergebnis in einer neuen Spalte aus.Ich würde keine Formeln verwenden, wenn Sie nur denselben Wert in jede Zeile replizieren möchten (in den meisten Fällen ist es in solchen Fällen besser, << Set Each Value zu verwenden).
Ich bin mir nicht sicher, ob es eine schnelle Syntax gibt, um Spaltennamen durch neue Variablen zu ersetzen, aber char+substitute+parse+expressions ist eine Option
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(4),
Compress File When Saved(1),
New Column("t", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 3, 4])),
New Column("r", Numeric, "Continuous", Format("Best", 12), Formula(:t ^ 2))
);
dt << New Column("i", Numeric, Continuous, << Set Each Value(
f = Eval Expr(Expr(Parse(Substitute(Char(Column(dt, "r") << get formula), ":", ""))));
Integrate(f, t, Col Min(:t), Col Max(:t));
));Berechnen Sie die Fläche unter der Kurve durch Integration und tragen Sie das Ergebnis dann in eine neue Spalte ein.In dieser Beispieldatentabelle wird die Antwort durch die Formel definiert: Antwort = Zeit*Zeit
Ich möchte die „Fläche unter der Kurve“ (AUC) durch Integration mithilfe der in der Antwortspalte definierten Formel und des in der Spalte „:time“ definierten Zeitbereichs berechnen und das Ergebnis dann in eine neue Spalte in der Datentabelle füllen (durch „populate „Ich meine, alle Zeilen haben den Wert der berechneten AUC).
Ich weiß, dass ich das folgende Skript verwenden kann, um die AUC zu berechnen, und das Ergebnis der Fläche ist 41333.
resp = Expr (time * time);
area = Integrate (resp, time, 10, 50);
show (area);
Als ich jedoch versuchte, das AUC-Ergebnis auszufüllen (alle Zeilen haben den Wert 41333) in der Spalte :Integrieren mit der Formel:
Integrieren( :response, :time, Col Maximum( :time ), Col Minimum( :time ) )
Anstatt das Ergebnis 41333 auszufüllen, berechnete die Formel das Ergebnis basierend auf dem definierten Wert von: Zeit in jeder Zeile.
Wie schreibe ich die Formel richtig, damit die Spalte „:Integrate“ mit dem Ergebnis 41333 gefüllt wird?
Ich weiß, dass ich JSL verwenden könnte, um eine neue Datentabelle zu erstellen und dann das Ergebnis zu verknüpfen, würde dies aber lieber innerhalb derselben Datentabelle tun.
Danke!

Automatisierung und Skripterstellung