在多列的變異性圖表上使用 for 迴圈你好,
我在資料集中有幾列,想要使用腳本將它們繪製在變異性圖表中,以便我可以使用類似的設定來產生這些圖。 但有一個錯誤。 有人可以啟發什麼應該是正確的文法嗎?
我的腳本:
dt = 當前資料表();
colnames = dt << 取得列名(數字);
顯示(列名);
nw = 新視窗(“繪圖”);
for(i=5, i測試 = colnames[i];
gb = 變異圖(
Y(作為列(測試)),
X(:組,:批次,:晶圓),
最大迭代次數( 100 ),
轉化限制( 0.00000001 ),
數積分橫座標( 128 ),
數字函數評估( 65536 ),
分析類型(名稱(“選擇最佳分析(EMS REML 貝葉斯)”)),
標準差圖表( 0 ),
顯示箱線圖(1),
)
);
nw<<追加(報告(GB));
日誌訊息:
colnames = {批次,晶圓,X,Y,名稱(“4V01PC03MHVN_BF00-LT-VL_HN_11.1X1.1-VALUE_F”),名稱(“4V01PC03MHVN_BF00-LT-VL_HN_11.1X11.1-VALUE_F”),名稱(VALUE_F” 4V01PC03MHVN_BF00- LT-VL_MN_11.1X0.76-VALUE_F"), 名稱("4V01PC03MHVN_BF00-LT-VL_MN_11.1X11.1-VALUE_F"), UE00-LT-VL_MN_11.1X11.1-VALUE_F"), UEUE("4V01PC030010037_0, 0UE "), 名稱( "4V01PC03MHVN_BF") 00 -LT-VL_MNT_11.1X11.1-VALUE_F"),名稱("4V01PC04MHVP_BF00-LT-VL_HP_0.4X1.1-VALUE_F"),名稱("4V01PC0UE4M_100UE ),名稱(" 4V01PC04MHVP_BF00-LT-VL_HP_11.1X11.1-VALUE_F"),名稱("4V01PC04MHVP_BF00-LT-VL_MP_11.1X1.1-VALUE_F"),名稱("4V00UE_8 F "),名稱( "4V01PC06TX5V_BF00-LT-VL_N5_11.1X11.1-VALUE_F"), 名稱("4V01PC06TX5V_BF00-LT-VL_P5_11.1X11.1-VALUE_F"), Endstamp};
在存取或評估「變異性圖表」時未找到,錯誤參數({.,角色需要至少 1 列。} ), 變異性圖(/*###*/Y( As Column( test ) ),
X(:組,:批次,:晶圓),
最大迭代次數( 100 ),
轉化限制( 0.00000001 ),
數積分橫座標( 128 ),
數字函數評估( 65536 ),
分析類型(名稱(“選擇最佳分析(EMS REML 貝葉斯)”)),
標準差圖表( 0 ),
顯示箱線圖( 1 )
)
在以下腳本中,錯誤標記為 /*###*/
dt = 當前資料表();
colnames = dt << 取得列名(數字);
顯示(列名);
nw = 新視窗(“繪圖”);
For( i = 5, i < N 項( colnames ), i++,
測試 = colnames[i];
gb = 變異性圖(/*###*/Y( As Column( test ) ),
X(:組,:批次,:晶圓),
最大迭代次數( 100 ),
轉化限制( 0.00000001 ),
數積分橫座標( 128 ),
數字函數評估( 65536 ),
分析類型(名稱(“選擇最佳分析(EMS REML 貝葉斯)”)),
標準差圖表( 0 ),
顯示箱線圖( 1 )
);
);
nw << 附加( 報告( gb ) );
回覆:在多列的變異性圖表上使用 for 循環你好,謝謝你的改變。 它按照我想要的方式工作。
回覆:在多列的變異性圖表上使用 for 循環你好,
感謝您的提示。 但提示#1 不適用,因為我真的很想從 5 開始。
回覆:在多列的變異性圖表上使用 for 循環有幾個原因導致了該錯誤。 一個是在 For() 循環中,您正在初始化 i = 5,當我假設您想要從儲存在 colnames 中的清單中的第一項開始時,因此它應該是 i = 1。 第二件事是您不需要使用 As Column() - 您可以簡單地使用在每次迭代中儲存列名稱的變數名稱 (test) Y( test )。
此外,您將在 For() 迴圈之外附加變異性圖表,這表示只有最後一個圖才會加入視窗。 您希望程式碼的最後一行位於迴圈內。 希望這可以幫助!
回覆:在多列的變異性圖表上使用 for 循環我已經更改了您的程式碼,我認為它會按照您希望的方式工作。
1. 我在您的「新視窗」中新增了一個 V List Box()。 這將使您能夠更好地控制所需輸出的順序。 如果您希望顯示從左到右,請變更為 H 列錶框 ()。
2. 我在變異圖表中加入了「Invisible」元素。 我假設您想要的是最終得到一個窗口,每個圖表沒有單獨的窗口。
3. As Column() 不起作用。 我不知道為什麼不行! 但是,更改為 Column() 函數是有效的。 另外,我消除了對「Test」變數的需要,因為在變數圖表程式碼中僅包含列表引用 ColNames[] 會更乾淨。
4. 我假設您想要的是包含所有輸出的單一視窗。 您在程式碼末尾的附加只會附加最後一個圖表。 對「gb」的提及並不是附加的。 每次在 For() 循環中引用“gb”時,它都會更改為每個連續的圖表。 因此,追加需要在循環內。
dt = Current Data Table();
colnames = dt << get column names( numeric );
Show( colnames );
nw = New Window( "Plots", myVLB = V List Box() );
For( i = 5, i < N Items( colnames ), i++,
gb = Variability Chart(
invisible,
Y( Column( colnames[i] ) ),
X( :Group, :Lot, :Wafer ),
Max Iter( 100 ),
Conv Limit( 0.00000001 ),
Number Integration Abscissas( 128 ),
Number Function Evals( 65536 ),
Analysis Type( Name( "Choose best analysis (EMS REML Bayesian)" ) ),
Std Dev Chart( 0 ),
Show Box Plots( 1 ),
);
myVLB << append( Report( gb ) );
);