再:数値列を標準化するループのエラー式の値を指定しても、その式のJSLは評価されません。 そうではなく、コードを式に移動するだけです。 だから、公式に置かれているのは、" コル標準化 ( : numericColNames [ 私 ] ) 「そうではない」 コル標準化 ( : YourColumnName ")"#:。 そのため、式が実行されると、"i"の値が検索されます。これは、実行時までに既にColnamesの添え字範囲を超えています。 そのために必要なことは、式の正確なJSL構文を式に入れることです。
Names Default To Here( 1 );
dt = Current Data Table();
numericColNames = dt << get column names( string, numeric );
For( i = 1, i <= N Items( numericColNames ), i++,
Eval(
Substitute(
Expr(
New Column( Char( numericColNames[i] ) || "_Stand",
Numeric,
Continuous,
Formula( Col Standardize( __col__ ) )
)
),
Expr( __col__ ), Parse( ":" || numericColNames[i] )
)
)
);数値列を標準化するループ内のエラーこんにちは。標準化する数式から新しい数値列を作成するスクリプトを作成しましたが、数式を評価するとエラーが発生します。私は何を間違えますか?
ありがとうございました。
スクリプト:
Names Default To Here( 1 );
dt = Current Data Table();
numericColNames = dt << get column names( string, numeric );
For( i = 1, i <= N Items( numericColNames ), i++,
New Column( Char( numericColNames[i] ) || "_Stand",
Numeric,
Continuous,
Formula( Col Standardize( :numericColNames[i] ) ) )
);
エラー:
Name Unresolved: numericColNames 1 times At rows: {1} Operation: numericColNames, :numericColNames
再:数値列を標準化するループのエラー親愛なる、私は試しに小さなテーブルがあります。これは、1900年の人口に対応する整数値を持つ市区町村の名前を持つ列(1900)と、パーセントで表される別の列で構成されます。 命令 "numericColNames"を使っても、スクリプトを試してみるとわかります。 = dt << 列名を取得する ( ひも 、数値 ) ; 2つの新しい列を作成するとき、"col 1900と" Percentage Canvi "を数値として認識します。1900に対応するものでは、欠損値が残ります。
再:数値列を標準化するループのエラー1900のような列名はJMPを混乱させる可能性があります。番号として扱うのか列名として扱うのかがわからないからです。 そのため、:Name()関数を使用して、それが列名であることを明確に示す必要があります。下記の修正されたスクリプトを参照してください。
Names Default To Here( 1 );
dt = Current Data Table();
numericColNames = dt << get column names( string, numeric );
numericColNames = {"1900"}
For( i = 1, i <= N Items( numericColNames ), i++,
Eval(
Substitute(
Expr(
New Column( Char( numericColNames[i] ) || "_Stand",
Numeric,
Continuous,
Formula( Col Standardize( __col__ ) )
)
),
Expr( __col__ ), Parse( ":Name(\!"" || numericColNames[i] || "\!")" )
)
)
);再:数値列を標準化するループのエラーサー、あなたはすべてに答えがあるようです。ご協力ありがとうございます。