Sélectionnez les 10 plus grandes valeurs de mon tableau<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut,
Je voudrais extraire les dix plus grandes valeurs de ma table.
Comment puis-je faire ?
Y a-t-il un script associé ?
Merci pour votre aide !
Re : Sélectionner les 10 plus grandes valeurs de ma tableMerci beaucoup PMroz et MS !
Re : Sélectionner les 10 plus grandes valeurs de ma tableLa question initiale peut recevoir des réponses différentes selon les objectifs.
Le code PMroz sélectionne avec succès toutes les lignes des 10 niveaux supérieurs (ce qui signifie plus de dix lignes sélectionnées si plusieurs lignes ont la même valeur).
Si vous souhaitez plutôt sélectionner exactement dix lignes avec les valeurs les plus élevées (et éventuellement en laissant derrière vous les valeurs liées des dix niveaux les plus bas), cette approche peut être utilisée :
dt = ouvrir ( "$sample_data\Bands Data.jmp" ) ;
n = maintenant ( dt ) ;
dt << sélectionner des lignes ( lieu ( classement ( : humidité [ 1 :: n ]) >= n - dix )) ;
Voici une alternative qui sélectionne le pourcentage de lignes (approximativement) correspondant aux dix premières lignes, mais ici les lignes liées avec la valeur la plus basse des 10 premières lignes sont incluses :
dt << sélectionner où ( : humidité >= quantile de col ( : humidité , 1 - dix / n )) ;
Les trois approches donnent ici des résultats différents, mais chacune peut être correcte selon les circonstances.
Re : Sélectionner les 10 plus grandes valeurs de ma tableDeux façons de procéder :
Moyen facile:
dt << sélectionner où ( : humidité >= humidité_mtx [ dix ]) ;
Autrement:
dt << sélectionner où ( contient ( humidité_mtx [ 1 :: dix ] , : humidité )) ;
Re : Sélectionner les 10 plus grandes valeurs de ma tableMerci !
J'ai mes dix valeurs dans cette liste mais j'aimerais maintenant sélectionner dans un tableau, les lignes qui ont une valeur dans cette liste :
J'ai essayé : mytable<< Select Where(value in values_mtx);
mais ça ne marche pas
Re : Sélectionner les 10 plus grandes valeurs de ma tableVoici une façon de le faire en utilisant la commande summary.Summarize donne la liste des valeurs uniques mais il s'agit d'une liste de chaînes de caractères.
dt = ouvrir ( "$sample_data\bands data.jmp" ) ;
résumer ( liste_humidité = par ( : Humidité )) ;
n = articles ( liste_humidité ) ;
humidité_mtx = indice ( 1 , n ) ;
pour ( je = 1 , je <= n , je ++,
humidité_mtx [ je ] = num ( liste_humidité [ je ]) ;
) ;
humidité_mtx = Trier par ordre décroissant ( humidité_mtx ) ;
imprimer ( humidité_mtx [ 1 :: dix ]) ;
[ 105 , 103 , 100 , 98 , 96 , 95 , 94 , 93 , 92 , 91 ]