Ri: calcola l'area sotto la curva per integrazione, quindi compila il risultato in una nuova colonna.Prova a controllare come appare la formula generata da JMP, molto probabilmente sostituirà il tuo tempo con :time quindi usa un nome diverso per la variabile e l'espressione interna rispetto alle colonne nella tua tabella di dati (e possibilmente avvolgerlo all'interno di As Constant())
As Constant(
resp = Expr(a * a);
area = Integrate(resp, a, Col Min(:time), Col Max(:time));
)
Ri: calcola l'area sotto la curva per integrazione, quindi compila il risultato in una nuova colonna.Cosa succede se l'espressione utilizzata da Integrate deve essere estratta dalla formula in una colonna, ad esempio per integrare utilizzando una formula da un adattamento polinomiale.
Nella tabella seguente, la formula nella colonna del predittore utilizzerebbe :time e :response. Esiste una sintassi rapida per sostituire i nomi delle colonne con nuove variabili?

Ri: calcola l'area sotto la curva per integrazione, quindi compila il risultato in una nuova colonna.Non userei le formule se vuoi solo replicare lo stesso valore su ogni riga (nella maggior parte dei casi è meglio usare << Imposta ogni valore in casi come questo).
Non sono sicuro che esista una sintassi rapida per sostituire i nomi delle colonne con nuove variabili, ma char+substitute+parse+expressions è un'opzione
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));
));calcola l'area sotto la curva per integrazione, quindi compila il risultato in una nuova colonna.In questo esempio datatable, la risposta è definita dalla formula: risposta = tempo*tempo
Vorrei calcolare "l'area sotto la curva" (AUC) mediante integrazione utilizzando la formula definita nella colonna di risposta e l'intervallo di tempo definito nella colonna :time, quindi popolare il risultato in una nuova colonna nel datatable (da "populate "Voglio dire che tutte le righe hanno il valore dell'AUC calcolato).
So di poter utilizzare il seguente script per calcolare l'AUC e il risultato dell'area è 41333.
resp = Expr (time * time);
area = Integrate (resp, time, 10, 50);
show (area);
Tuttavia, quando ho provato a popolare il risultato AUC (tutte le righe hanno il valore di 41333) nella colonna :Integrate utilizzando la formula:
Integra( :response, :time, Col Maximum( :time ), Col Minimum( :time ) )
invece di popolare il risultato 41333 , la formula ha calcolato il risultato in base al valore definito di : time in ogni riga.
Qual è il modo corretto di scrivere la formula in modo che la colonna :Integrate sia popolata con il risultato 41333?
So che potrei usare JSL per creare un nuovo datatable e quindi unire il risultato, ma preferirei farlo all'interno dello stesso datatable.
Grazie!

Automazione e scripting