标准化组列属性你好。 我是 jsl 脚本的新手。
从脚本帮助菜单中,我可以转换列属性,但如何对组中的所有列执行此操作?
将所有 20 列一一写下来太笨重,而且我有很多分组列。
我知道在不编写脚本的情况下使用标准化属性很容易,但我正在处理经常更新的连接表,并且一直这样做并不高效。
dt << 变换列(“A”);
dt:A << 数据类型(数字);
dt:A << 建模类型("连续");
我尝试将列更改为列组,但似乎不起作用。
自动化和脚本编写回复:标准化组列属性我相信这会满足您的需要:
Names Default To Here( 1 );
dt = Current Data Table();
colNames = dt << get column group( "the group's name" );
For Each( {col},
colNames, Column( dt, col ) << Data Type( Numeric ) << Modeling Type( Continuous )
);
请使用
进入JSL时。它使读者能够更轻松地检查 JSL
回复:标准化组列属性您可以使用标准化属性作为起点,并根据需要修改它创建的脚本。
我有这样的列,我希望将高度和重量更改为字符类型列

标准化属性会给我一个像这样的脚本(来自增强日志)
// Standardize column attributes
Local({old dt = Current Data Table()},
Current Data Table(Data Table("Big Class"));
For Each({col, index}, {:height, :weight},
col << Data Type(Character) << Set Modeling Type("Nominal")
);
Current Data Table(old dt);
);
接下来搜索列组的脚本索引(或类似的东西)

经过小修改(我将数据类型和建模类型更改回数字)
// Standardize column attributes
Local({old dt = Current Data Table()},
Current Data Table(Data Table("Big Class"));
For Each({col, index}, old dt << get column group("height etc."),
col << Data Type(Numeric) << Set Modeling Type("Continuous")
);
Current Data Table(old dt);
);
如果您不知道列组名称,则返回脚本索引

回复:标准化组列属性谢谢你!
如何获取增强日志? JMP 16 中可用吗? 我还没升级
回复:标准化组列属性谢谢 :)下次我会使用
我尝试了该脚本,但收到了此警报。我该怎么办?

回复:标准化组列属性是的,它已添加到 JMP16 中,此后的每个版本都能够捕获更多操作(并且 JMP17 具有工作流程生成器)。
回复:标准化组列属性该脚本还使用了 JMP16 中添加的 For Each。 您必须将其转换为 For 循环,如下所示
Local({old dt = Current Data Table()},
Current Data Table(Data Table("Big Class"));
collist = old dt << get column group("height etc.");
For(i = 1, i <= N Items(collist), i++,
col = collist[i];
col << Data Type(Numeric) << Set Modeling Type("Nominal");
);
Current Data Table(old dt);
);
根据脚本运行的位置,它也可以被清理(至少在我看来)有点像这样
Names Default To Here(1);
dt = Current Data Table();
// dt = Open(); // use this if possible
collist = dt << get column group("height etc.");
For(i = 1, i <= N Items(collist), i++,
col = collist[i];
col << Data Type(Numeric) << Set Modeling Type("Continuous");
);