For ループを使用して新しい列を作成し、各列に独自の名前と式を与えるこんにちは、みんな、
値と列ヘッダー test1、test2、test3、test4、...、test800 を持つ大きなデータ テーブルがあります。 これらの値の一部は負であり、リスト "Datalist_log_2" で定義したすべての列を取得し、絶対値を含む "test1_pos" という新しい列を作成したいと考えています。 (テストごとに)。
Datalist_log_2 = {test1, test2, test5, test319};
wmax = N Items( Datalist_log_2 );
For ( w = 1, w <=wmax, w++,
Temp12 = Char(Datalist_log_2[w]);
NewColName = Temp12||"_pos"; //not sure if I need to do this extra round, but it works. Will figure that out myself.
NewColumn(NewColName, Numeric, Continuous, Formula(Abs(Datalist_log_2[w])))
);
問題は、Formula() が最初の反復で変数 "test1" の絶対値を構築しようとしているようですが、もちろん sqrt(test1*test1) は必要ありません。 代わりに、新しく作成された列が「test1」という名前の参照列の絶対値を取得するようにします。
助けてくれてどうもありがとう
Re: For ループを使用して新しい列を作成し、各列に独自の名前と数式を指定するこれはうまくいきます、ありがとう
Re: For ループを使用して新しい列を作成し、各列に独自の名前と数式を指定する以下は、以前の投稿でお伝えしたのと同じ方法論を使用して、現在のコードを変更したものです」可変性チャートで For ループと Dispatch() コマンドを組み合わせる」 .何が起こっているのか理解できない場合は、スクリプト ガイドで説明を確認することをお勧めします。
ヘルプ==>書籍==>スクリプト ガイド
Datalist_log_2 = {test1, test2, test3};
For( w = 1, w <= N Items( Datalist_log_2 ), w++,
Eval(
Substitute(
Expr(
New Column( Char( Datalist_log_2[w] ) || "_pos",
Numeric,
Continuous,
Formula( Abs( __Col__ ) )
)
),
Expr( __col__ ), Parse( ":" || Char( Datalist_log_2[w] ) )
)
)
);Re: For ループを使用して新しい列を作成し、各列に独自の名前と数式を指定するなんてタイムリー、これをチェックしてくださいJSL クックブックの記事これは非常によく似たことを行います。変更する独自の列のリストを指定してから、新しい列名と式を変更するだけです。
列を選択し、Current Data Table() << Get Selected Columns メッセージを使用してリストをログに書き込むことをお勧めします。これをコピーしてコードに貼り付けることができます。