JMP16 を使用して JSL を学習し始めたところです
選択した行を含むサブセット データ テーブルを作成するスクリプトを作成しようとしましたが、選択基準は列 (7) の数値によって定義されています。
次のスクリプトのバックボーンは、「テーブル」タブで実行される「サブセット」からのものです。
Data Table( "Subset of 200 kinome all excel" ) <<
Subset(
Linked,
selected rows only(0),
row selection (select where (as column(7) >0.3) );
Selected columns only(0),
);
上記のスクリプトの選択は機能しませんでした。 サブセット テーブルは元のテーブルと同じです。
私は何を取りこぼしたか?
ありがとう
私はこのアプローチをまったく使用しませんし、私のコンピューターでは機能しません(まだサブセット内のすべての行があり、エラーやメッセージはスローされません)。
Names default to here(1);
dt=open("$SAMPLE_DATA\Big Class.jmp");
Data Table( dt ) << Subset(
Linked,
selected rows only( 1 ),
row selection( select where( As Column( 2 ) > 13 ) ),
Selected columns only( 0 ),
);
その理由は、「サブセット」のドキュメントでは「行選択」のようなオプションが見つからなかったためです。
, [number, number, ...])>,
見る:データテーブルのサブセット化 (jmp.com)
そして危険なのは、未知のパラメーターではエラーがスローされないため、デバッグが困難であることです。
さらに、そのサブセットステートメント内の行を選択する場合、サブセットの前に選択が完了するかどうかは実際にはわからないため、安定しているようには見えません。
私の解決策は、サブセットステートメントの前の行を選択するか、以下のように行番号を明示的に選択することです。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
Data Table( dt ) << Subset(
Linked,
rows( /* explicit rows [1,2,3] or conditionally: */ Loc( (dt:age << get values) > 16 ) ),
Selected columns only( 0 ),
);
編集後のコード@ゲオルグ私のコードが間違っているのを見つけました。
小さな問題がいくつかあります。
- Selected Rows Only() をオンにする必要があります
selected rows only( 1 ),
- Select Where を独立したステートメントに移動する必要がある
Data Table( "Subset of 200 kinome all excel" ) <<
row selection( select where( As Column( 7 ) > 0.3 ) );
完全なコードは次のとおりです
Data Table( "Subset of 200 kinome all excel" ) <<
row selection( select where( As Column( 7 ) > 0.3 ) );
Data Table( "Subset of 200 kinome all excel" ) <<
Subset(
Linked,
selected rows only( 1 ),
Selected columns only( 0 )
);