回复:对于 Each() 语法对于 Scripting Index 中的 Each 文档,确实在一定程度上涵盖了这一点。 Across 的示例给出了语法的最佳概念

Names Default To Here(1);
// Across multiple containers
x = {"a", "b"};
y = {"d", "c"};
For Each({{a, b}, index}, Across(x, y), Show(a||b, index));回复:对于 Each() 语法我已经摆弄过脚本索引中的语法,但同样的错误仍然存在。 这一定意味着我对我的特定设置有些不理解。 我需要测试更多东西,并将在此处发布我的发现和/或其他问题。谢谢, @jthi !
回复:对于 Each() 语法我认为这是另一个难题:
多个容器的 Across() 格式正在使用中。我拥有的值的数量是有意义的,但这也需要 Across()。目前,我正在将数据表保存到矩阵中
matrix1 = dt1 << Get as Matrix();
由于 Across() 中的项目数需要等于花括号中容器(值)的数量,因此如何正确填充 Across() 以使其与之一起使用或正确地使用数据表?
回复:对于 Each() 语法你到底想做什么?还是您只是想了解语法?
回复:对于 Each() 语法我有 3 个表:
- dt1:测量值和预测公式
- dt2:目标值(当前保存为矩阵):
matrix1 = dt2 << Get as Matrix();
- dt3:用于记录(预测)Profiler 工具回归公式系数的表
我希望做的是使用 For Each() 遍历 dt2,使用 dt1 中相应的预测公式,然后记录 (Prediction) Profiler 生成的相应系数。 我确信我可以用标准的 For() 循环来做到这一点,但我被告知 For Each() 会是更好的选择。
回复:对于 Each() 语法这只是为了获得预测的绝对值吗?对不起,我很困惑。
Names default to here( 1 );
dt1 = open("$SAMPLE_DATA\Big Class.jmp");
fm = dt1 << Fit Model(
Y( :height, :weight ),
Effects( :age, :sex, :age * :sex ),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Leverage" ),
Run(
:height << {Summary of Fit( 1 ), Analysis of Variance( 1 ),
Parameter Estimates( 1 ), Lack of Fit( 0 ), Scaled Estimates( 0 ),
Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 0 ),
Plot Effect Leverage( 1 ), Plot Residual by Normal Quantiles( 0 ),
Box Cox Y Transformation( 0 )},
:weight << {Summary of Fit( 1 ), Analysis of Variance( 1 ),
Parameter Estimates( 1 ), Lack of Fit( 0 ), Scaled Estimates( 0 ),
Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 0 ),
Plot Effect Leverage( 1 ), Plot Residual by Normal Quantiles( 0 ),
Box Cox Y Transformation( 0 )}
)
);
fm << Prediction Formula; //
dt2 = new table("Targets",
<<NEW column=""></NEW>回复:对于 Each() 语法@vince_faller , 都很好! 从数据集(在 dt1 内)生成预测公式后,我想使用理想解决方案(在 dt2 内)并向后工作以获取获得该理想值所需的系数(保存在 dt3 中)。 预测刻画器显示执行此操作所需的值的系数,因此我需要从框中获取值。
在我们说话的时候,我在后台使用 For() 循环进行了测试。如果它有效,我可以为这个项目放弃使用 For Each() 整个。虽然,现在我遇到了问题,但它让我更加鼓励去理解原因。
回复:对于 Each() 语法如果您尝试遍历矩阵,则参数有不同的结构。 如果您查看脚本索引中的小下拉菜单,可以找到 For Each() 循环可以采用的不同配置的示例。

最好,
米
回复:对于 Each() 语法谢谢, @MikeD_Anderson .我已经花了一天多的时间来浏览这些选项中的每一个,但我在原始帖子中提到的错误阻碍了我。
回复:对于 Each() 语法我认为您在示例中缺少的部分是您想要提取的值必须采用单个值或列表的形式。 所以对于每个 ( { val1, val2, ..., valn, index}, ...)不会工作,因为参数列表中的东西太多了。 但For each( { {val1, val2, ..., valn}, index}, ...) 可能效果更好。 这也符合以下示例@jthi较早提供。
米
回复:对于 Each() 语法你好,
我已经研究过双花括号,但我遇到了我原来帖子中的“太多参数”错误。我相信这是因为我没有在 Across() 中指定正确数量的容器。 我不知道如何正确填写 Across()。
此时,我的 For() 循环替代方案非常充实,应该取代对 For Each() 函数的需求。 然而,我仍然想学习如何正确使用它,但也许我会在不同的时间恢复这个线程。 我的注意力需要暂时放在别处。
谢谢大家的讨论!
For Each() 语法你好,
我希望扩大 For Each() 函数中可以使用的值的数量。在我在 JMP 社区和 JMP 本身中找到的脚本索引和一些示例中,我只看到使用了单个值和索引:For every( { val1, index}, ... )。 我想使用: For every( { val1, val2, ..., valn, index}, ...) 。 当我增加花括号中的值数量时,会弹出“参数太多”错误。
奇怪的是,此错误消息指出错误的行号对应于传递到 Foreach() 函数的矩阵中的总行数,而不是脚本中该函数的实际行号。 我可以通过将值的数量更改为仅 val1 和索引来确认这是我尝试使用的值的数量,而不是我传递给函数的矩阵中的行数,然后这将起作用。
传入的矩阵的列数与我要传递到 For Each() 函数的值的数量相同。
有小费吗? 这可能吗?
自动化和脚本编写质量和工艺工程视窗