選擇一列中具有最大值的行我可以使用摘要來查找一列中的最大值(由於組而有多個)。 但是,我還想查找原始表中的哪些行出現最大值。
有簡單的解決方案嗎? 感謝您的幫助!回复:選擇一列中具有最大值的行您好,很抱歉回復舊帖子,但我在其他地方找不到相關示例。
我想按組進行匯總,然後選擇按組具有最大權重的那些行。
我能夠總結,但我不知道如何選擇這些行。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << clear select;
Summarize( g = by( :age, :sex ), m = Max( :weight ) );
/* How to select those rows summarized by group?
謝謝
回复:選擇一列中具有最大值的行<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />很棒的解決方案。 這正是我一直在尋找的!
回复:選擇一列中具有最大值的行您還可以使用在哪裡獲取行:
你的數組= dt <<獲取行,其中( :列名==峰值) ;
get rows where 的優點是:a) 這是一步,而不是兩步,b) 表中沒有選擇任何行。如果您需要選定的行,那麼 MOSFETtestEng 所示的方法就可以解決問題。
回复:選擇一列中具有最大值的行我知道這是兩年後的事了,但這是寫給所有發現這篇文章並提出同樣問題的人的。
嘗試腳本中的“獲取選定行”功能。
yourarray = dt << Get Selected Rows;
現在數組“yourarray”將包含所選行號的列表。
要查找具有最大值的行,請嘗試
// finds the maximum value in the columnt
peakvalue = Col Max( :columname);
// selects all rows with the maximum value. (dt is the name of the data table.)
dt << Select Where( :columnname == peakvalue);
// stores a list of the row numbers with the maximum value in this array
yourarray = dt << Get Selected Rows;
回复:選擇一列中具有最大值的行我拿到了 JMP10 並重新審視了這個問題。使用列匹配的“連接”效果很好。我想表“更新”似乎會更簡單。
回复:選擇一列中具有最大值的行對於大型表,For Each Row() 可能效率低下。
SelectWhere() 可能會更快:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << clear select;
Summarize( g = by( :age ), m = Max( :height ) );
dt<<SELECT where=""></SELECT>
回复:選擇一列中具有最大值的行劇本看起來不錯。 我會嘗試一下並報告回來。
令我驚訝的是,JMP 本身並沒有將數據最大值的索引(行號)保留在某處。
董回复:選擇一列中具有最大值的行抱歉,你是對的。 我回答得太快了。 我將編輯上面的錯誤帖子
我想建議的是,您可以嘗試將“Summary”與“Update”結合起來(或“Join”,我不確定 JMP7 表格菜單中是否找到“Update”)。
下面是一個腳本示例,應該可以工作,但對於非常大的數據表可能無效。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << clear select;
Summarize( g = by( :sex ), m = Max( :age ) );
For( j = 1, j <= N Items( g ), j++,
For Each Row( If( :sex == g[j] & :age == m[j], Row State() = Selected State( 1 ) ) )
);
回复:選擇一列中具有最大值的行多發性硬化症,
謝謝。 我嘗試了一下,在選擇第二個匯總表時仍然選擇原始表中的所有行。 每當我在匯總表中選擇一行(組的最大值)時,組中第一個匯總表中的每一行也會被選擇。
我希望我能正確遵循您的指示。 第二個匯總表是否命名為“DataTable By (group, data) By (group)”?
僅供參考,我正在使用 JMP7。
董回复:選擇一列中具有最大值的行傑夫,
謝謝。 這似乎是 JMP 9 的新功能。 我正在使用 JMP 7。 我想我可能會要求升級。
另外,我試圖在一列中選擇多個最大值。 最大值屬於其他列中指定的不同組。
董回复:選擇一列中具有最大值的行行->行選擇->選擇主導將選擇一列或一組列中具有最大(或最小值)值的行。
我相信這會給您帶來您想要的東西。
傑夫回复:選擇一列中具有最大值的行您可以使用更新(表菜單)將原始表與匯總表進行匹配,其中組列 = 組列且數據 = max(數據) 作為匹配列。 最大行數將由添加的 NRows 列中的非缺失單元格表示。
我的第一個答案是基於草率的思考......
消息編輯者:MS