使用變量編寫列切換器腳本時出現問題<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />您好,我在根據 GUI 顯示框獲取的列變量編寫列切換器腳本時遇到問題。我這裡的示例是使用圖形生成器,但我嘗試了另一個具有類似結果的平台。 我不知道這是否是因為我如何獲取列名(obj << get items()),所以我將所有這些都包含在附加的 jsl 中。應該發生的情況是,圖形生成器應該正確加載,列“Y”應該處於 Y 角色,然後“Y”加上我添加的兩個虛擬列“temp”和“temp2”應該位於列切換器中。 但在 Column Switcher() 的第一個參數中,它似乎只喜歡在其中輸入文本。 如果我輸入文本“Y”或“:Y”,它工作正常,但我還沒有找到一種方法來以有效的方式處理包含“Y”的列變量。 當我使用該變量時,它會拋出錯誤。
這是代碼片段,我附加了一個精簡的腳本,它將打開示例數據,生成一個自填充的GUI(只需單擊“確定”),您可以看到僅鍵入列名稱將如何工作,但我的許多嘗試使用變量不會。 我做錯了什麼,還是一個錯誤? 如果是這樣,有解決方法嗎? 我正在使用 JMP 11.2.0。
請注意,此片段僅供參考。 如果您想運行它,請運行整個附加文件。 yParamNames 是包含要繪製的參數的列表。“Y”是該列表中的第一列。
圖形生成器(
尺寸(570、559)、
變量( X(列(dtDataOrig,tempName [1])),Y(列(dtDataOrig,yParamNames [1])),覆蓋(列(dtDataOrig,partIdName [1]))),
元素(
線( X, Y, 圖例( 13 ), 行順序( 0 ), 匯總統計( "Mean" ) )
),
列切換器(
//"Y", // 輸入列名文本即可
// 不起作用
//作為列(dtDataOrig, Y),
//作為列(:Y),
//作為列(Y),
//列(Y),
//列(:Y),
yParamNames[1], // <---- 我認為這可行,並且是最直接的實現,但無法讓它接受變量。
y參數名稱
)
);
謝謝,
麥克風
回复:使用變量編寫列切換器腳本時出現問題此處報告的問題已有幾年曆史,但我想確認 Column Switcher 現在會像應有的那樣評估其參數,因此客戶不必再解決此問題。 它應該在 JMP 13 及更高版本中正常工作。
回复:使用變量編寫列切換器腳本時出現問題謝謝大衛,這很完美。我一直在想是否應該嘗試 Eval(Parse(Eval Insert())) 技術,但我不會想到在首先創建圖形生成器對像後使用它。
也感謝 PMroz 的投入... 這個劇本實際上是你的主意。上次發現峰會上,我曾詢問過如何以散點圖方式顯示溫度特徵數據,作為我的 Excel 腳本的替代品,您建議使用列切換器來生成圖形。 效果非常好。 謝謝!
-麥克風
回复:使用變量編寫列切換器腳本時出現問題嘗試將列切換器從圖形生成器功能中取出並使用消息創建它:
gb = 圖形生成器(
尺寸(...),
變量(...),
元素(...)
);
評估(解析(評估插入物( “\[
gb << 列切換器( ^yParamNames[1]^, ^yParamNames^ )
]\" ))) ;
最後一段的語法不太容易詳細解釋,但很容易使用。它使用 Peter 概述的相同原理,但使用不需要轉義序列來構建字符串的語法。
它有助於理解用於構建最後一段代碼的順序。你從這個模式開始:
評估(解析(評估插入物( “\[
]\" ))) ;
您在此模式中編寫(或複制)JSL 代碼:
gb << 列切換器( yParamNames[1], yParamNames )
要指示有需要動態計算的變量,請用“插入符號”引用:^variable^
回复:使用變量編寫列切換器腳本時出現問題這就是你的想法嗎? 我嘗試過這個,但它的行為仍然相同。
斯特= “圖形生成器(
尺寸(570、559)、
變量( X(列(dtDataOrig,tempName [1])),Y(列(dtDataOrig,yParamNames [1])),覆蓋(列(dtDataOrig,partIdName [1]))),
元素(
線( X, Y, 圖例( 13 ), 行順序( 0 ), 匯總統計量( \!"Mean\!" ) )
),
列切換器(
//yParamNames[1],
:是的,
y參數名稱
)
);” ;
評估(解析(斯特)) ;
回复:使用變量編寫列切換器腳本時出現問題有時變量不能直接在 JSL 中工作。將圖形生成器代碼動態構建為您知道可以工作的字符串,並使用 eval(parse()) 執行它。
dt =打開( “$sample_data\big class.jmp” ) ;
斯特= “圖形生成器(
顯示控制面板( 0 ),
變量( X(:體重), Y(:高度)),
元素(
點( X, Y, 圖例( 1 ), 抖動( 1 ) ),
擬合線(
X,
是,
傳說(4),
擬合置信度( 1 ),
預測置信度( 0 ),
度(\!"線性\!" ),
等式(0),
均方根誤差( 0 ),
R²(0)
)
)
)” ;
評估(解析(斯特)) ;