回复:對於 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() 函數的值的數量相同。
有小費嗎? 這可能嗎?
自動化和腳本編寫質量和工藝工程視窗