JSLを使用したモデルの適合における「指定された列がデータテーブルに見つかりません」インポートしたテーブルからフィットモデルを作成するスクリプトがあります。
私の問題は、データにアクセスするときにこのエラーが発生することです。
「指定された列がデータ テーブルに見つかりません。{4759} 'List' のアクセスまたは評価中、{/*###*/data:T_VALUE}」
「表示」を通じて列にアクセスしようとすると、良い結果が得られます。
「データ:T_VALUE = 1;」
私のコード:
data = Open( "C:/Users/taviad/Desktop/Sheet1.jmp" );
Show(data:T_VALUE);
model = data << Fit Model(
Y( data:T_VALUE ),
Effects(
data:x,
data:y,
data:z,
data:c
),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Run(),
Where( data:b == "param1" & data:n == "param2" ),
);
ありがとう。
Re: JSL を使用したモデルの適合における「指定された列がデータ テーブルに見つかりません」新しいファイルにデータを再保存することでなんとか解決しました。 何が問題だったのか分かりませんが、元のファイルが良くありませんでした。Re: JSL を使用したモデルの適合における「指定された列がデータ テーブルに見つかりません」あなたが報告したログ メッセージは奇妙に見えます。
- 「指定された列がデータ テーブルに見つかりません。{4759} 'List' のアクセスまたは評価中、{/*###*/data:T_VALUE}」これは、存在しない列を指定した場合に表示されるエラー メッセージではありません。 これは、Y にリストを指定した場合のエラー メッセージのように見えます。
- 「表示」を通じて列にアクセスしようとすると、良い結果が得られます。 「データ:T_VALUE = 1;」これは、T_VALUE がテーブル変数であり、その名前の列が存在しない場合に発生します。
- これは、データに次の名前の列がある場合に表示する結果です。 「データ:T_VALUE = .;」
列名が CR またはタブで読み取られる場合に備えて、以下のスクリプトを試してみると、先頭と末尾のスペース、タブ、改行、キャリッジ リターン (改行) が削除されます。
for(i=1, i<=ncol(data), i++,
column(data,i) << set name( Trim( column(data,i) << get name) );
);
Re: JSL を使用したモデルの適合における「指定された列がデータ テーブルに見つかりません」「T_VALUE = 1」というエラーがわかりません。 これにより、列ではなくスカラー値のように見えます。
Re: JSL を使用したモデルの適合における「指定された列がデータ テーブルに見つかりません」それは桁。 このままでいいですか?
Re: JSL を使用したモデルの適合における「指定された列がデータ テーブルに見つかりません」T_VALUE はデータ列ですか、それともテーブル変数ですか? 最小二乗法を適用するには、Y ロールにデータ列が必要です。
Re: JSL を使用したモデルの適合における「指定された列がデータ テーブルに見つかりません」こんにちは、ご回答ありがとうございます。
試してみましたが、同じエラーが発生しました:
データ:T_VALUE = 1;
指定された列がデータ テーブルに見つかりません。{4759} 'List' のアクセスまたは評価中、{/*###*/data:T_VALUE}
Re: JSL を使用したモデルの適合における「指定された列がデータ テーブルに見つかりません」JMP が続行してモデルの適合を実行しているときに、データ テーブルのオープンが完了していない可能性があります。その場合は、Run Formulas リクエストを追加すると、JMP が Open() 関数を完了するように強制され、問題が解決されるはずです。
data = Open( "C:/Users/taviad/Desktop/Sheet1.jmp" );
data << run formulas;
model = data << Fit Model(
Y( data:T_VALUE ),
Effects( data:x, data:y, data:z, data:c ),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Run(),
Where( data:b == "param1" & data:n == "param2" ),
);