Re: 複数の列にまたがる各行の最大値とソース列の名前を検索するこれには多くの方法があります。 以下は、必要なものを取得する一例です。
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];
);Re: 複数の列にまたがる各行の最大値とソース列の名前を検索する@jthiありがとう。 あなたのコードは列全体で最大値を見つけ、複数の列で各行の最大値を評価したいと考えています。 次の結果を期待しています

Re: 複数の列にまたがる各行の最大値とソース列の名前を検索する非常に奇妙なスクリプトをコピーして貼り付けていたので、それを編集して修正しました
Re: 複数の列にまたがる各行の最大値とソース列の名前を検索するここに問題を解決する別の方法があります
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]])));
Re: 複数の列にまたがる各行の最大値とソース列の名前を検索する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;
);
自動化とスクリプト作成Re: 複数の列にわたる各行の最大値とソース列の名前の検索ジムさん、ありがとうございます! これを 250 列で使用しました。お元気でいらっしゃることを願っています。
私は今、テキサスから遠く離れています。 地図。