是否可以建立關聯數組作為表變量,然後在列公式中使用儲存的值?
作為正在進行的分析的一部分,我有一些相關變數需要編輯。這些變數將像列公式中的匹配函數一樣使用。
例如:
- 建立表格變數計數並將值設為["a" => 10, "b" => 3, "c" => 1] 。
- 然後透過列公式引用計數,例如:計數[:列] 。其中:col是具有值「a」、「b」或「c」的字元列。
這可能嗎?我正在使用 JMP 18.2.1。
我認為這符合你的要求:
New Table( "Untitled",
Add Rows( 3 ),
New Table Variable( "abc", "[\!"a\!"=>1, \!"b\!"=>2, \!"c\!"=>4]" ),
New Column( "Column 1",
Numeric,
"Nominal",
Format( "Best", 9 ),
Formula(
c_abc = As Constant( Eval( Parse( :abc ) ) );
c_abc["c"];
),
Set Selected
)
)
注意,表變數只是文本,因此它會被解析和求值。 AsConstant 函數使得它在整個列的求值過程中只需解析/求值一次,因此效率不會太低。
或者,您可以為關聯數組的每個元素設定一個單獨的表變數。這可能更容易編輯,但它不會像關聯數組那樣創建獨立的命名空間。
如果要將名稱用作列名,則另一種選擇是使用自訂列屬性。它們可能更難找到和編輯。與純文字表變數不同,它們也包含表達式:
dt=New Table( "Untitled",
New Column( "Column 1",
Set Property( "xxxxx", ["a"=>42,"adfasdfasdf"=>77] )
)
);
(dt:column1<
<GETPROPERTY></GETPROPERTY>
<BR />
Craige 確實提供了一些不錯的選項來實現這一點。這裡有一個願望清單,希望表變數能有更複雜的資料類型。讓我們為表變數使用更複雜的資料類型,而不僅僅是文字和數字。
感謝@Craige_Hales ,您的解決方案非常有效。
謝謝@jthi ,我同意這個建議。