複数の列の正規化式を設定するためのループこんにちは、コミュニティの皆様
動的な列参照を使用して正規化式を設定するための JSL スクリプトを作成しようとしています。
What's wrong here?
"Mean(M4_pop)" & "Std Dev(M4_pop)" are fix columns that are to be used for the normalization.
dt = Current Data Table();
numCols = dt << Get Column Names( Numeric, "String" );
For( i = 1, i <= N Items( numCols ), i++,
colName = numCols[i];
normColName = colName || "_norm";
dt << New Column(
normColName,
Numeric,
Continuous,
Formula( (colName- :"Mean(M4_pop)"n) / :"Std Dev(M4_pop)"n)
);
);
自動化とスクリプトRe: 複数の列に正規化式を設定するループcolNameを式で評価する必要があります
Eval Insert、Eval Expr、Parse、Substitute を使用して、ある式を別の式に挿入します。
Re: 複数の列に正規化式を設定するループこんにちは、デビッド。
もっと良い解決策があるかもしれませんが、これがそれを機能させる一つの方法です:
dt = Current Data Table();
numCols = dt << Get Column Names( Numeric, "String" );
For( i = 1, i <= N Items( numCols ), i++,
colName = numCols[i];
mean = "Mean(M4_pop)";
std = "Std Dev(M4_pop)";
normColName = colName || "_norm";
dt << New Column(
normColName,
Numeric,
Continuous,
Formula( (as column(colName)- as column (mean)) / as column(Std))
);
);
乾杯、
ジョナス
Re: 複数の列に正規化式を設定するループこんにちは、ジョナス。
ご返信ありがとうございます。小さな変化が成功につながりました:)