尊敬的 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 将一个表达式插入另一个表达式关于如何从变量构建公式的好帖子