Hallo liebe JMP-Experten/Benutzer,
Ich habe eine Datentabelle mit festem Format mit ähnlichen Spaltennamenformaten wie diesem (immer ähnliche zwei Spaltennamen, unterschieden durch _1):
NAME, C1, P2 ... C1_1, P2_1 .... (eigentlich viele Spalten mit dieser Namensregel)
Ich möchte neue Spalten mit der folgenden Formel erstellen: zum Beispiel:
C1_cal von: C1-C1_1
P2_cal von: P2-P2_1
...
Wie verwende ich JSL, um eine Schleife dafür zu erreichen? Vielen Dank!
Es wurden ziemlich viele Annahmen bezüglich der Spaltennamen und der Spaltenreihenfolge getroffen
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(1),
Compress File When Saved(1),
New Column("Name", Character, "Nominal", Set Values({})),
New Column("Column1", Numeric, "Continuous", Format("Best", 12), Set Values([1])),
New Column("Column2", Numeric, "Continuous", Format("Best", 12), Set Values([2])),
New Column("Column1_1", Numeric, "Continuous", Format("Best", 12), Set Values([2])),
New Column("Column2_1", Numeric, "Continuous", Format("Best", 12), Set Values([4]))
);
all_colnames = dt << Get Column Names("String");
Remove From(all_colnames, 1); // Drop first column
For Each({col_name}, all_colnames[1::(N Items(all_colnames)/2)],
Eval(Substitute(
Expr(
dt << New Column(col_name|| "_cal", Numeric, Continuous, Formula(
_firstcol_ - _secondcol_
));
),
Expr(_firstcol_), Name Expr(AsColumn(col_name)),
Expr(_secondcol_), Name Expr(AsColumn(col_name || "_1"))
));
);
Der Scripting-Index und der Scripting-Leitfaden enthalten gute Informationen zum JMP-Scripting.Fügen Sie einen Ausdruck in einen anderen ein, indem Sie Eval Insert, Eval Expr, Parse und Substitute verwenden ist ein guter Beitrag zum Erstellen von Formeln aus Variablen
Vielen Dank!!!
wenn ich das Formular in ändern möchte C1-3,5*C1_1:
Soll ich den Code in das folgende Format ändern?
_firstcol_ - 3,5*(_secondcol_)
Probieren Sie es einfach aus und überprüfen Sie die Eigenschaften der Ergebnis- und Formelspalte
