回复:在多个列中搜索每行的最大值和源列的名称有很多方法可以做到这一点。 以下是一个示例,它应该可以满足您的需求:
Names Default To Here(1);
dt = Open("$DOWNLOADS/Sample data.jmp");
col_names = (dt << Get Column Names("String"))[2::(N Cols() - 2)];
Column(dt, "Maximum Value") << Set Values(dt[Row(), col_names]);
Column(dt, "Maximum Col Name") << Set Data Type("Character");
Column(dt, "Maximum Col Name") << Set Each Value(
max_idx = Loc(m[Row(), 0], :Maximum value)[1];
col_names[max_idx];
);回复:在多个列中搜索每行的最大值和源列的名称@jthi谢谢。 您的代码似乎找到了跨列的最大值,我想评估多列中每行的最大值。 我期待以下结果

回复:在多个列中搜索每行的最大值和源列的名称我复制粘贴了一些非常奇怪的脚本,现在我已经对其进行了编辑以更正一个
回复:在多个列中搜索每行的最大值和源列的名称这是解决问题的另一种方法
Names Default To Here( 1 );
dt = Current Data Table();
dt << Select Columns( 2 :: 14 );
col = dt << Get Selected Columns( );
dt << new column("MaxVal", set each value(Max(col)));
dt << new column("MaxVal Column", character, set each value(char(col[loc(matrix(col),:MaxVal)[1]])));
回复:搜索跨多列的每一行的最大值和源列的名称dt << new column("MaxVal Column", character, set each value(char( col[loc(As List(matrix(col)),:MaxVal)[1] ])));建议至少对 JMP14 的最后一行进行上述更正:matrix(col) 返回一个矩阵,而 loc 函数需要一个列表作为第一个参数,因此需要将矩阵转换为带有“As list”的列表。
跨多列搜索每行的最大值和源列的名称你好,
我试图想出一个 jsl 脚本,它可以找到每行的最大值和与最大值对应的列名。 我能够在所有列中找到最大值,但需要一些建议才能找到与最大值对应的列名
这是代码:
Names Default To Here( 1 );
dt = Current Data Table();
dt << Select Columns( 2 :: 14 );
col = dt << Get Selected Columns( );
val = dt:MaxVal << get values( Format( "Best", 12 ) );
dt:Maximum Value << Set Formula( Max(col) );
nc = (N Items( col ));
For( j = 1, j <= N Items( val ), j++,
xxx = {};
For( i = 1, i <= nc, i++,
If( Contains( char(col[i]), val[j] ),
Insert Into( xxx, char(col[i]) )
)
);
Column( dt, 16 )[j] = xxx;
);
自动化和脚本回复:在多个列和源列的名称中搜索每行的最大值谢谢 Jim!刚刚在 250 列上使用了它。希望你一切顺利。
我现在距离德克萨斯州很远。 地图。