JMP 脚本中的值按变量排序<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好,
在我的数据集中,我将使用一个名为 Set 的列作为条形图中的 x 轴变量。我希望它们按照从最小响应值到最大响应值的顺序排序,这样我的条形图的长度就会增加。例如,如果我有以下数据:
设置响应
一个 5
乙-7
C 10
我希望条形图中的顺序为 B、A、C。显然我可以这样设置属性:
Set < {"B", "A", "C"}), 但我正在尝试这样做而不需要对名称进行硬编码。我希望能够通过变量对值进行排序,特别是通过我的响应。我希望这是一个标准脚本,我可以将其应用于多个数据集,而无需一次又一次地更改它。
问候,
迈克尔。
回复:JMP 脚本中变量的值排序仅供 JMP 16 添加值排序我必须将格式更改为:
:col << Set Property(
"Value Ordering",
Eval(myList)
);
回复:JMP 脚本中变量的值排序在第一种情况下,列表只包含变量名。 评估列表只是评估每个变量。 在第二种情况下,列表包含的内容(LSL、USL、Target)仅在整个 Set Property 消息的上下文中才有意义。 Eval List 不知道那个上下文,所以它无法弄清楚如何处理它看到的第一件事:LSL。 对于那种情况,您将不得不使用为其他情况计算出的更复杂的表达式。
lLimit = 55;
uLimit = 70;
tLimit = 62.5;
Eval(
Eval Expr(
:height << Set Property(
"Spec Limits",
{LSL( Expr( lLimit ) ), USL( Expr( uLimit ) ), Target( Expr( tLimit ) )}
)
)
);回复:JMP 脚本中变量的值排序伟大的! 我看到这适用于这种情况。 但是在规格限制的情况下,该列表不评估? 我得到一个错误,在评估列表时它似乎不喜欢 LSL 参数。
l极限= 55 ;
上限 = 70 ;
t限制= 62.5 ;
:高度<<设置属性( “规格限制” ,
评估表({LSL(lLimit), USL(uLimit), 目标(tLimit)}));
回复:JMP 脚本中变量的值排序或者您可以使用 Eval List 来评估列表的所有成员:
:sex << Set Property("Value Ordering",Eval List({my1,my2}));回复:JMP 脚本中变量的值排序由于值排序的类似问题,我正在回复此线程。我仍然无法弄清楚何时在 JMP 12 或 JMP 13 的 JSL 中对列属性使用 Expr 和 Eval Expr。 一般形式似乎应该有效:
:放<<设置属性( “价值排序” ,评价( {我的列表} ) ) ;
:放<<设置属性( “价值排序” ,评价( {my1,my2} ) ) ;
在 Big Class 数据中,尝试设置 column :sex 以将“M”放在“F”之前:
我的1 = “米” ;
我的2 = “F” ;
:性别<<设置属性( “价值排序” ,评估( {我的1 ,我的2 })) ;
但它放入文本“my1”和“my2”而不是“M”和“F”。
我复制了有关如何将规格限制添加为列属性的帖子。 http://www.jmp.com/support/notes/46/953.html
看来您必须使用 Expr 和 Eval Expr 才能显示字符变量。 如果您只尝试这部分:
:性别<<设置属性( “价值排序” , {表达式(我的1 ) ,表达式(我的2 )})
您在列属性中得到文本“Expr”和“Expr”。 如果您将 Eval Expr 包含在 Expr 中,您将在日志中返回正确的短语。
评估表达式(
:性别<<设置属性( “价值排序” , {表达式(我的1 ) ,表达式(我的2 )})
) ;
回报:
:sex << 设置属性( "值排序", {"M", "F"} )
最后,整个代码正确设置了列属性。
评价(
评估表达式(
:性别<<设置属性( “价值排序” , {表达式(我的1 ) ,表达式(我的2 )})
)
) ;
规范限制帖子的解释是“列存储列属性,其中提供的值没有评估或验证提供的参数。 为了使用包含变量的 JSL 代码添加列属性,脚本必须将任何变量转换为其实际值。”
回复:JMP 脚本中变量的值排序下面的方法更好(oneliner 的乐趣,但很少足够......)。 即使存在联系并且每个级别有多个值并且值排序基于例如每个级别的平均响应,它也应该工作。
总结( G =经过( :放) ,米=意思是( :回复) ) ;
:放<<设置属性( “价值排序” ,评价( G [排名指数(米)] ) ) ;
回复:JMP 脚本中变量的值排序这个方法应该适用于上面的例子。 但是,我刚刚想到,如果两个或多个级别具有完全相同的响应,它将失败(列表中只会显示任何绑定级别中的一个)。
:放<<设置属性( “价值排序” ,评价(关联数组( :回复, :放) <<获取值) ) ;