JMP 腳本中的值按變量排序<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好,
在我的數據集中,我將使用一個名為 Set 的列作為條形圖中的 x 軸變量。我希望它們按照從最小響應值到最大響應值的順序排序,這樣我的條形圖的長度就會增加。例如,如果我有以下數據:
設置響應
一個 5
乙-7
C 10
我希望條形圖中的順序為 B、A、C。顯然我可以這樣設置屬性:
Set < {"B", "A", "C"}), 但我正在嘗試這樣做而不需要對名稱進行硬編碼。我希望能夠通過變量對值進行排序,特別是通過我的響應。我希望這是一個標準腳本,我可以將其應用於多個數據集,而無需一次又一次地更改它。
問候,
邁克爾。
回复:JMP 腳本中變量的值排序僅供 JMP 16 添加值排序我必須將格式更改為:
:col << Set Property(
"Value Ordering",
Eval(myList)
);
回复:JMP 腳本中變量的值排序在第一種情況下,列表只包含變量名。 評估列表只是評估每個變量。 在第二種情況下,列表包含的內容(LSL、USL、Target)僅在整個 Set Property 消息的上下文中才有意義。 Eval List 不知道那個上下文,所以它無法弄清楚如何處理它看到的第一件事:LSL。 對於那種情況,您將不得不使用為其他情況計算出的更複雜的表達式。
lLimit = 55;
uLimit = 70;
tLimit = 62.5;
Eval(
Eval Expr(
:height << Set Property(
"Spec Limits",
{LSL( Expr( lLimit ) ), USL( Expr( uLimit ) ), Target( Expr( tLimit ) )}
)
)
);回复:JMP 腳本中變量的值排序偉大的! 我看到這適用於這種情況。 但是在規格限制的情況下,該列表不評估? 我得到一個錯誤,在評估列表時它似乎不喜歡 LSL 參數。
l極限= 55 ;
上限 = 70 ;
t限制= 62.5 ;
:高度<<設置屬性( “規格限制” ,
評估表({LSL(lLimit), USL(uLimit), 目標(tLimit)}));
回复:JMP 腳本中變量的值排序或者您可以使用 Eval List 來評估列表的所有成員:
:sex << Set Property("Value Ordering",Eval List({my1,my2}));回复:JMP 腳本中變量的值排序由於值排序的類似問題,我正在回复此線程。我仍然無法弄清楚何時在 JMP 12 或 JMP 13 的 JSL 中對列屬性使用 Expr 和 Eval Expr。 一般形式似乎應該有效:
:放<<設置屬性( “價值排序” ,評價( {我的列表} ) ) ;
:放<<設置屬性( “價值排序” ,評價( {my1,my2} ) ) ;
在 Big Class 數據中,嘗試設置 column :sex 以將“M”放在“F”之前:
我的1 = “米” ;
我的2 = “F” ;
:性別<<設置屬性( “價值排序” ,評估( {我的1 ,我的2 })) ;
但它放入文本“my1”和“my2”而不是“M”和“F”。
我複制了有關如何將規格限制添加為列屬性的帖子。 http://www.jmp.com/support/notes/46/953.html
看來您必須使用 Expr 和 Eval Expr 才能顯示字符變量。 如果您只嘗試這部分:
:性別<<設置屬性( “價值排序” , {表達式(我的1 ) ,表達式(我的2 )})
您在列屬性中得到文本“Expr”和“Expr”。 如果您將 Eval Expr 包含在 Expr 中,您將在日誌中返回正確的短語。
評估表達式(
:性別<<設置屬性( “價值排序” , {表達式(我的1 ) ,表達式(我的2 )})
) ;
回報:
:sex << 設置屬性( "值排序", {"M", "F"} )
最後,整個代碼正確設置了列屬性。
評價(
評估表達式(
:性別<<設置屬性( “價值排序” , {表達式(我的1 ) ,表達式(我的2 )})
)
) ;
規範限制帖子的解釋是“列存儲列屬性,其中提供的值沒有評估或驗證提供的參數。 為了使用包含變量的 JSL 代碼添加列屬性,腳本必須將任何變量轉換為其實際值。”
回复:JMP 腳本中變量的值排序下面的方法更好(oneliner 的樂趣,但很少足夠......)。 即使存在聯繫並且每個級別有多個值並且值排序基於例如每個級別的平均響應,它也應該工作。
總結( G =經過( :放) ,米=意思是( :回复) ) ;
:放<<設置屬性( “價值排序” ,評價( G [排名指數(米)] ) ) ;
回复:JMP 腳本中變量的值排序這個方法應該適用於上面的例子。 但是,我剛剛想到,如果兩個或多個級別具有完全相同的響應,它將失敗(列表中只會顯示任何綁定級別中的一個)。
:放<<設置屬性( “價值排序” ,評價(關聯數組( :回复, :放) <<獲取值) ) ;