<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、
5つの数値列があります。5列の各行の最大値を反映した新しい列を作成する必要があります。値を返す代わりに、各行に対応する列名を入れる必要があります。
ありがとう
サム
こんにちは、サムさん、
最も基本的なレベルでは、これを試してください:
dt = 新しいテーブル ( "データ表" 、
新しいコラム ( "X1" 、式 ( ランダムユニフォーム () ) ) 、
新しいコラム ( "X2" 、式 ( ランダムユニフォーム () ) ) 、
新しいコラム ( "X3" 、式 ( ランダムユニフォーム () ) ) 、
新しいコラム ( "X4" 、式 ( ランダムユニフォーム () ) ) 、
新しいコラム ( 「×5」 、式 ( ランダムユニフォーム () ) ) 、
行を追加する ( 100 )
) ;
dt << 新しいコラム ( 「最大コル名」 、
キャラクター 、
式 (
もし (
: X1 == 最大 ( : X1 、 : ×2 、 : X3 、 : X 4 、 : X 5 ) 、 "X1" 、
: ×2 == 最大 ( : X1 、 : ×2 、 : X3 、 : X 4 、 : X 5 ) 、 "X2" 、
: X3 == 最大 ( : X1 、 : ×2 、 : X3 、 : X 4 、 : X 5 ) 、 "X3" 、
: X 4 == 最大 ( : X1 、 : ×2 、 : X3 、 : X 4 、 : X 5 ) 、 "X4" 、
: X 5 == 最大 ( : X1 、 : ×2 、 : X3 、 : X 4 、 : X 5 ) 、 「×5」 、
)
)
) ;
これからさらに一般化することができます。
1行に最大値がある等しい値がある場合、この式はifステートメント内のその位置の列を優先します(善と悪)。
これは列式を使用して実行できますが、小さいJSLスクリプトを使用する方が簡単です。最後の行のループは、最大値を持つ列を識別し、その名前を新しい列 "max"に配置します。複数の列に同じ最大値がある場合は、最初のインスタンスが選択されます。
dt = 現在のデータ表 () ;
コルズ = dt << getcolumnの名前 ( 数値 ) ;
ニューコル = dt << 新しいコラム ( "最大" 、キャラクター ) ;
各行について ( ニューコル [] = コルズ [ Loc Max ( マトリックス ( コルズ ))] << 名前をつける ) ;