Function() 和 Expr() 之間的差異。 後姆夏普昨天回答了我的問題,我意識到我一直在做錯事。 目前,每個輸出(無論是圖形圖還是分佈)都有自己的單獨的 Expr(),其中包含 3 個不同的迭代。 簡而言之,大約有 20 個 Expr() 腳本。 使用函數的能力會將其減少為一個圖形繪製腳本和一個分佈腳本。 我現在遇到的困難是循環該函數。
我已附上範例資料表,這是我用來繪製圖形的表達式之一的範例以及函數腳本的開頭。 我將感謝解決這個問題的任何幫助。 我可以使用該問題的解決方案並應用於許多其他問題。 您可以運行原始腳本來了解我正在嘗試做什麼。
謝謝
PS,如果你有時間,我正在嘗試將這 3 個期刊合併成一個期刊。 我正在嘗試返回到此線程上發布的腳本
https://community.jmp.com/t5/Discussions/Combine-multiple-journals-into-one-journal/td-p/6129
謝謝納爾遜先生,
我非常感謝您和社區提供的幫助。 我必須告訴你,一般來說,編碼對我來說是非常新鮮和困難的。 您正在與一個在 C++ 中獲得“C”並使用它運行的人交談。 我每花一個小時編碼,就會花 3 小時閱讀腳本指南、使用腳本索引,當然還有閱讀論壇。 由於我對編碼總體上一無所知,然後試圖將其轉換為 JSL,所以我花了大量的時間在自己的學習上。 我通常會花時間閱讀此處發布的程式碼,並嘗試回到我正在嘗試做的事情。我報名參加網路研討會是為了了解更多信息,尤其是在 JMP 14 在不久的將來推出時了解它。 如果我比其他人問了太多問題並尋求更多幫助,我深表歉意。
話雖如此,再次感謝您的幫忙。
首先,如果您打算進行 JSL 編碼,您需要仔細閱讀腳本指南
幫助==>書籍==>腳本指南
以下是對腳本的修改,以說明如何使用函數循環以及如何將所有輸出保留在同一輸出日誌中。我知道這並不完全是您所需要的,但它應該為您提供一個良好的開端,讓您了解如何做您想做的事情
Names Default To Here( 1 );
dt = Current Data Table();
doGraphPlot = Function(
{dt, Xaxis, Yaxis, Grby, chnl},
Eval(
Substitute(
Expr(
gb = dt << Graph Builder(
invisible,
where( dt:Channel == __chnl__ ),
size( 600, 400 ),
show control panel( 0 ),
variables(
Y( Eval( Yaxis ) ),
X( Eval( Xaxis ) ),
Group X( Eval( Xgrby ) ),
Overlay( :RowCol )
),
elements( smoother( X, Y, legend( 19 ), lambda( 0.0001 ) ) )
)
),
Expr( __chnl__ ), chnl
)
);
Report( gb )[Outline Box( 1 )] << set title( "Channel = " || Char( chnl ) );
);
jjrn = New Window( "Data Plot - Output_1 vs Input", <<JOURNAL></JOURNAL>