<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />私はjmpとjslに不慣れで、なぜ以下のコードがエラーを引き起こすのか理解することができません。
dt = open("simple.csv");
xyz = New Table("xyz", invisible);
//Current Data Table(dt);
fm = Fit Model(
Y(dt:X),
Effects(dt:Y),
Personality(Standard Least Squares),
Run Model,
Invisible
);
Print(fm);
Close(xyz);
Close(dt);
これにより、次のエラーが発生します。
Cannot run without Y Responses
Specified Column not found in data table.{1} in access or evaluation of 'List' , {dt:X}Column not Found{1} in access or evaluation of 'dt:Y' , dt:Y
In the following script, error marked by /*###*/
Fit Model(
Method( "EMS", < Emphasis( "Effect Screening", < Keep dialog open( 1 ),
Y( dt:X ),
Effects( dt:Y ),
Personality( Standard Least Squares ),
Run Model,
Invisible
)
Model Dialog[]
ただし、作成しないと xyz テーブル、または実行する前に閉じた場合フィットモデルまたは、コメントを外した場合現在のデータ表(dt) それからそれはうまくいきます。 それでそれはそう思われるでしょうフィットモデル現在のテーブルでのみ操作できます。 これはjmpのバグですか、それとも何かが足りないのですか。
私が知っていることではありません。私は一般的にはプラットフォームスクリプトで ":X"リファレンスを使うだけです。
さて、ありがとう!それで、プラットフォームが現在のテーブル上でのみ動作することを考えれば、単に ":X"ではなく "dt:X"として列を参照する意味がありますか?
プラットフォームは通常、現在のデータテーブルを処理します。ただし、Send演算子(<<)を使用してプラットフォーム呼び出しを適用するテーブルを明示的に指定することで、スクリプトをより堅牢にすることができます。
dt = open( "simple.csv");
xyz =新しいテーブル( "xyz"、不可視)。
//現在のデータテーブル(dt);
fm = dt << モデルに合わせる(
Y(dt:X)
効果(dt:Y)、
性格(標準最小二乗)、
実行モデル、
見えない
;