Ho appena iniziato a imparare JSL , usando JMP16
Tentando di scrivere uno script per creare una tabella di dati di un sottoinsieme con la riga selezionata, i criteri di selezione sono definiti da valori numerici nella colonna (7).
La spina dorsale del seguente script è 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
Hai un paio di piccoli problemi.
- Solo righe selezionate() deve essere attivato
selected rows only( 1 ),
- Il ";" alla fine della tua selezione di riga termina il Sottoinsieme.Doveva essere un ","
row selection( select where( As Column( 7 ) > 0.3 ) ),
Ecco il codice completo
Data Table( "Subset of 200 kinome all excel" ) << Subset(
Linked,
selected rows only( 1 ),
row selection( select where( As Column( 7 ) > 0.3 ) ),
Selected columns only( 0 ),
);
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: Sottoimposta una tabella di dati (jmp.com)
E il pericolo è che i parametri sconosciuti non generino un errore, quindi è difficile eseguire il debug.
Inoltre, quando si selezionano le righe all'interno dell'istruzione di sottoinsieme, non sarei davvero sicuro che la selezione venga eseguita prima del sottoinsieme, quindi non mi sembra stabile.
La mia soluzione sarebbe 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 ),
);