尊敬的 jmp 專家/用戶您好,
我有一個固定格式的數據表,具有類似的列名稱格式,如下所示(始終相似的兩個列名稱由 _1 區分):
姓名、C1、P2 ... C1_1, P2_1 ....(實際上很多列都有這個命名規則)
我想使用以下公式創建新列:例如,
C1_cal 通過:C1-C1_1
P2_cal 通過:P2-P2_1
...
我如何使用 JSL 來實現循環? 多謝!
關於列名和列順序做出了很多假設
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"))
));
);
腳本索引和腳本指南提供了有關 JMP 腳本的詳細信息。使用 Eval Insert、Eval Expr、Parse 和 Substitute 將一個表達式插入另一個表達式關於如何從變量構建公式的好帖子