按變數對列進行排序你好,
我將如何建立一個新列,其中包含由另一個變數對一列進行排序的值?
希望澄清的一個例子:如果我有一個包含兩行的表:姓名和年齡,我將如何創建第三行來顯示從最舊到最年輕排序的姓名?
謝謝!
回覆:按變數對列進行排序試試一下:
names default to here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column(
"Sorted names by age",
Expression,
"None",
Formula( :Name[ Rank( :age << Get Values )][ Row() ] )
);
dt << New Column(
"Sorted names by height",
Expression,
"None",
Formula( :Name[ Rank( :height << Get Values )][ Row() ] )
);
請注意,對於大型表來說,它可能會很慢。
編輯以顯示更相關的範例。
回覆:按變數對列進行排序如果您的資料位於行中而不是列中(例如在 Excel 中),則需要在分析之前轉置表格。 在您的範例中,轉置後,您將有兩列:姓名和年齡。 此時,只需按照其他使用者的建議按年齡列對表格進行排序即可。
回覆:按變數對列進行排序您所要求的內容不容易用公式來完成(無論如何我都能想出)。 透過使用互動方式來完成此操作相對容易表格->排序將表排序到新表中,然後將感興趣的列複製並貼上回原始表中。
然而這個問題引起了一些人對你真正想做的事情的興趣。
一般來說,資料表的一行代表單一實體(簡單範例中的單一學生)的值集合,且每一行與其他行無關。 我不確定這個新列(在您的範例中為名稱)在分析中有何用處,因為新列僅在其順序上下文中才有意義。
您能否詳細解釋如何使用這個新專欄?
希望澄清的一個例子:如果我有一個包含兩行的表:姓名和年齡,我將如何創建第三行來顯示從最舊到最年輕排序的姓名?
PS:您的範例中似乎混淆了行和列。 我假設你的意思是一個有兩列的表並且您想要建立第三列,正如您最初的問題所述。 如果我弄錯了,您的意思確實是行,請告訴我們。