Ho appena iniziato a imparare JSL, usando JMP16
Provando a scrivere uno script per creare una tabella di dati di sottoinsieme con la riga selezionata, i criteri di selezione sono definiti da valori numerici nella colonna (7).
La spina dorsale del seguente script proviene da "sottoinsieme" eseguito nella scheda "Tabelle".
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),
);
La selezione dello script di cui sopra non ha funzionato. La tabella dei sottoinsiemi è identica a quella originale.
Cosa mi sono perso?
Grazie
Non userei affatto questo approccio e non funziona sul mio computer (ancora tutte le righe nel sottoinsieme e nessun errore/messaggio generato):
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 ),
);
Il motivo è che nella documentazione di "sottoinsieme" non sono riuscito a trovare alcuna opzione come "selezione riga", c'è solo
, [number, number, ...])>,
Vedere: Sottoinsieme di una tabella dati (jmp.com)
E il pericolo è che i parametri sconosciuti non generano un errore, quindi è difficile eseguire il debug.
Inoltre, quando si selezionano le righe all'interno di quell'istruzione di sottoinsieme, non sarei davvero sicuro che la selezione venga eseguita prima del sottoinsieme, quindi non mi sembra stabile.
La mia soluzione sarebbe quella di selezionare le righe prima dell'istruzione del sottoinsieme o come di seguito selezionando esplicitamente i numeri di riga.
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 ),
);
Codice modificato dopo @Georg trovato il mio codice in errore.
Hai un paio di piccoli problemi.
- Solo le righe selezionate() deve essere attivato
selected rows only( 1 ),
- Il Seleziona dove deve essere spostato per essere una dichiarazione indipendente
Data Table( "Subset of 200 kinome all excel" ) <<
row selection( select where( As Column( 7 ) > 0.3 ) );
Ecco il codice completo
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 )
);