Comment trouver la valeur minimale des lignes sélectionnées dans une colonne ?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut tout le monde,
J'écris un script et je dois rechercher la valeur minimale dans une colonne, mais uniquement dans quelques lignes.Existe-t-il un moyen de sélectionner ces lignes à l'aide de la fonction minimum ?
J'ai pensé à créer un sous-ensemble, puis à utiliser la fonction minimum, mais je me demandais s'il existait un moyen plus simple.
Merci!
Re : Comment trouver la valeur minimale des lignes sélectionnées dans une colonne ?Merci, je garderai ça en tête !
Re : Comment trouver la valeur minimale des lignes sélectionnées dans une colonne ?Il suffit d'ajouter à l'explication de Jim que sa formule intelligente peut être écrite de manière moins explicite, ce qui peut également être plus facile à comprendre.
Ces deux lignes de code sont essentiellement les mêmes. Vous trouverez ce dernier plus rapidement pour les grandes tables.
Le minimum = Minimum de col ( Si ( Choisi ( État de la ligne ()) == 1 , hauteur , . )) ;
Le minimum = Minimum de col ( Si ( Choisi () , hauteur )) ;
Re : Comment trouver la valeur minimale des lignes sélectionnées dans une colonne ?Merci Jim, excellente explication.
Re : Comment trouver la valeur minimale des lignes sélectionnées dans une colonne ?Merci, votre solution a bien fonctionné pour moi.
lignes_sélectionnées = 41 :: 60 (dtFile1);
valeurs_sélectionnées=dtFile1:d2IddVd2[lignes_sélectionnées] ;
minimum = min(selected_values);
Re : Comment trouver la valeur minimale des lignes sélectionnées dans une colonne ?La déclaration que je vous ai donnée suppose que vous avez sélectionné les lignes de manière interactive.Par conséquent, c'est cette action sur laquelle la déclaration que je vous ai donnée agit.
minimum = col minimum(if(selected(Rowstate) == 1, ZIPPY, . ));
La valeur de la variable MINIMUM contiendra la valeur minimale trouvée dans la colonne ZIPPY pour toutes les lignes qui auront été sélectionnées lors de l'exécution de l'instruction.
L'interprétation du code est le résultat de l'instruction IF interne.Lorsque la fonction COL MINIMUM est exécutée, elle parcourt chaque ligne de la table de données.Si la ligne est sélectionnée, la valeur renvoyée par la fonction SELECTED lorsqu'elle examine le ROWSTATE pour cette ligne sera égale à 1, par conséquent, elle utilisera la valeur de la colonne ZIPPY pour cette ligne dans sa détermination du minimum.Si la ligne n'est pas SÉLECTIONNÉE, cela nous donnera une valeur manquante pour la valeur de ZIPPY pour cette ligne.
Il vous suffit donc de remplacer "ZIPPY" par le nom de la colonne que vous essayez d'obtenir pour obtenir la valeur minimale pour les lignes sélectionnées.
Si l'utilisateur du programme ne sélectionne pas les lignes sur lesquelles agir, une discussion plus approfondie sur l'utilisation de la fonction col<
Re : Comment trouver la valeur minimale des lignes sélectionnées dans une colonne ?Le code suivant fera l'affaire.
dt = ouvrir ( "$sample_data\Big Class.jmp" ) ;
lignes_sélectionnées = dt << obtenir les lignes sélectionnées ;
si ( nrows ( lignes_sélectionnées ) == 0 ,
lignes_sélectionnées = 1 :: nrows ( dt ) ;
) ;
valeurs_sélectionnées = : hauteur [ lignes_sélectionnées ] ;
valeur_min = min ( valeurs_sélectionnées ) ;
Re : Comment trouver la valeur minimale des lignes sélectionnées dans une colonne ?Salut Jim,
Je ne comprends pas comment ces fonctions fonctionnent ensemble.Je vois que les fonctions d'état de ligne peuvent avoir 6 caractéristiques ; l'un d'eux étant Choisi .Le définir égal à un signifie que quelque chose a été sélectionné (je pense), mais comment spécifier quelles lignes?J'ai essayé de sélectionner des lignes, mais cela n'a pas fonctionné ...
minimum = dtFile1<
Re : Comment trouver la valeur minimale des lignes sélectionnées dans une colonne ?Vous pouvez trouver le minimum de lignes sélectionnées en utilisant ci-dessous
LeMinimum = col minimum ( si ( choisi ( État de ligne ()) == 1 , , . ));