JMP Scripting Noob:如何基于过滤来自两列的数据来输入新列?大家好,
我喜欢JMP的图形构建工具,因此我只是开始涉足其脚本部分。 有人可以帮我这个要求吗?
我有两个山口。 一个用于X坐标,一个用于Y坐标。 我要做的只是简单地创建一个新的col,它将基于X和Y坐标列出右上/左上/右下/左下(LL)。
例如
如果0 <5和0 <5,则标记为LL
如果0 <5和5 <10,则标记为UL
如果5 <10和0 <5,标记为LR
如果5 <10和5 <10,则标记为UR
我很迷失,不胜感激:)

数据表脚本编写回复:JMP Scripting Noob:如何基于过滤来自两列的数据来输入新列?您可以通过分别检查X和Y并将它们串联在一起,使用JMP中的公式相当简单地执行此操作。
像下面这样的东西应该可以工作(不是如果值是0.5或超过10则根本不会归类):
If(0 < :y < 5, "L", 5 < :y < 10, "U") || If(0 < :x < 5, "L", 5 < :x < 10, "R")
回复:JMP Scripting Noob:如何基于过滤来自两列的数据来输入新列?通过查找数据表中哪一行具有最小值和最大值的不同组合,可以轻松完成此操作。
names default to here( 1 );
dt = New Table( "Sample",
Add Rows( 4 ),
New Column( "x",
Set Values( [1, 1, 6, 6] )
),
New Column( "y",
Set Values( [1, 6, 1, 6] )
)
);
dt << new column("location", character, formula(
:location[(dt << get rows where(:x==col max(:x) & :y==col max(:y)))[1]]="UR";
:location[(dt << get rows where(:x==col max(:x) & :y==col min(:y)))[1]]="LR";
:location[(dt << get rows where(:x==col min(:x) & :y==col max(:y)))[1]]="UL";
:location[(dt << get rows where(:x==col min(:x) & :y==col min(:y)))[1]]="LR";
));
