Re: 積分によって曲線下面積を計算し、結果を新しい列に入力します。JMP が生成する数式がどのように見えるかを確認してみてください。時刻が :time に置き換えられる可能性が高いため、変数には別の名前を使用し、データ テーブル内の列とは異なる名前を使用します (おそらく As Constant() 内にラップします)。
As Constant(
resp = Expr(a * a);
area = Integrate(resp, a, Col Min(:time), Col Max(:time));
)
Re: 積分によって曲線下面積を計算し、結果を新しい列に入力します。Integrate で使用される式を列の式から抽出する必要がある場合、たとえば、多項式近似からの式を使用して Integrate する場合はどうでしょう。
以下の表では、予測値列の式で :time と :response が使用されます。 列名を新しい変数に置き換える簡単な構文はありますか?

Re: 積分によって曲線下面積を計算し、結果を新しい列に入力します。各行に同じ値を複製するだけの場合は、数式を使用しません (ほとんどの場合、このような場合は << Set Each Value を使用する方が適切です)。
列名を新しい変数に置き換える簡単な構文があるかどうかはわかりませんが、char+substitute+parse+expressions は 1 つのオプションです。
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));
));積分によって曲線の下の面積を計算し、結果を新しい列に入力します。このデータテーブルの例では、応答は次の式で定義されます: 応答 = 時間*時間
応答列で定義された式と :time 列で定義された時間範囲を使用して積分によって「曲線下面積」(AUC) を計算し、その結果をデータテーブルの新しい列に移入したいと考えています(「populate」により)。 「つまり、すべての行に計算された AUC の値が含まれます)。
次のスクリプトを使用して AUC を計算できることはわかっています。面積の結果は 41333 です。
resp = Expr (time * time);
area = Integrate (resp, time, 10, 50);
show (area);
ただし、AUC の結果を入力しようとしたとき (すべての行の値は 41333) :Integrate 列内次の式を使用して:
Integrate( :response, :time, Col Maximum( :time ), Col Minimum( :time ) )
結果 41333 を設定する代わりに、数式は各行の : time の定義値に基づいて結果を計算しました。
:Integrate 列に結果 41333 が入力されるように数式を記述する正しい方法は何ですか?
JSL を使用して新しいデータテーブルを作成し、その結果を結合できることはわかっていますが、これを同じデータテーブル内で実行したいと考えています。
ありがとう!

自動化とスクリプト作成