ottenere righe percentili specifiche dai datiCiao,
Sto cercando di capire come ottenere il 25 ° percentile superiore dei valori di riga dai dati. fondamentalmente sottoinsiemi i dati originali con il 25 ° percentile di valori superiore.
Ho provato questo;
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
top_25th_perc = dt << Summary(
Group( :sex),
Quantile( :height, .25 ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 1 ),
output table name( "top_25th_perc" )
);</CODE><CODE class=" language-jsl">
che produce questa tabella di seguito.

Quello di cui ho bisogno è un sottoinsieme di dt con solo il 25 ° percentile di righe di entrambi i gruppi.
Come farlo?
la seguente domanda come possiamo campionare di quel 25 ° percentile e dire ottenere un campione da quella distribuzione. Anche in questo caso i dati riepilogativi tabella di cosa ho bisogno.
AnalyticsTabella datiScriptingOggetto: ottenere righe percentili specifiche dai datiPotrei essere un po 'fuori di testa con la mia soluzione.Hai indicato di volere il 25 ° percentile "massimo" e quindi determinato il 75 ° massimo calcolando in base al 25 ° percentile.Il codice seguente seleziona le righe dei maschi e delle femmine che si trovano nel 25 ° percentile superiore dei dati
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << select where( :height >= Col Quantile( :height, .75, :sex ) );
dtTop = dt << subset( selected rows( 1 ), selected columns( 0 ) );
Oggetto: ottenere righe percentili specifiche dai datiFunziona alla grande Grazie TXnelson!
c'è un modo per campionare i dati del 25 ° percentile prima di spostare il set di dati finale?
Oggetto: ottenere righe percentili specifiche dai datiEcco come campionerei dal miglior 25%
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
top25pRows = dt << get rows where( :NPN1 >= Col Quantile( :NPN1, .75, :site ) );
dt << clear selected row states;
// create a 5% of the top 25 percentile data
// Select 5% of the top 25 percentile rows
For(i=1,i<=nrows(top25pRows),i++,
If(random uniform(0,1)<=.05,rowstate(top25pRows[i])=selected state(1));
);
// Create the output data table
dtTop = dt << subset( selected rows( 1 ), selected columns( 0 ) );