选择一列中具有最大值的行我可以使用摘要来查找一列中的最大值(由于组而有多个)。 但是,我还想查找原始表中的哪些行出现最大值。
有简单的解决方案吗? 感谢您的帮助!回复:选择一列中具有最大值的行您好,很抱歉回复旧帖子,但我在其他地方找不到相关示例。
我想按组进行汇总,然后选择按组具有最大权重的那些行。
我能够总结,但我不知道如何选择这些行。
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