obtenir des lignes de centiles spécifiques à partir de donnéesSalut,
J'essaie de comprendre comment obtenir le 25e centile supérieur des valeurs de ligne à partir des données. sous-ensemble les données d'origine avec le 25e centile supérieur des valeurs.
J'ai essayé ceci;
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">
ce qui donne ce tableau ci-dessous.

Ce dont j'ai besoin, c'est d'un sous-ensemble de dt avec seulement 25 rangées centiles des deux groupes.
Comment faire ça?
la question suivante: comment pouvons-nous échantillonner ces 25e centiles et dire obtenir un échantillon de cette distribution. Encore une fois tableau de données récapitulatives dont j'ai besoin.
AnalytiqueTableau de donnéesScriptingRe: obtenir des lignes de centiles spécifiques à partir de donnéesJe suis peut-être un peu mal avec ma solution.Vous avez indiqué que vous vouliez le 25e centile «supérieur», puis vous avez déterminé le 75e centile supérieur en calculant sur la base du 25e centile.Le code ci-dessous sélectionne les lignes des hommes et des femmes qui sont dans le 25e centile supérieur des données
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 ) );
Re: obtenir des lignes de centiles spécifiques à partir de donnéesCela fonctionne très bien Merci TXnelson!
existe-t-il un moyen d'échantillonner ces données du 25e centile avant de déplacer l'ensemble de données final?
Re: obtenir des lignes de centiles spécifiques à partir de donnéesVoici comment j'échantillonnerais parmi les 25% supérieurs
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 ) );