Calcul sur plusieurs lignes<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Est-il possible de faire des calculs sur plusieurs lignes. Comment puis-je par exemple :
- diviser un nombre dans la colonne A, ligne 1 par un nombre dans la colonne B, ligne 2 ?
- calculer l'écart type des nombres de la colonne A, qui remplissent un critère basé sur le contenu de la colonne B (pas via le "X By Y", mais directement dans le tableau).
- Convertissez les lignes en colonnes, c'est-à-dire créez une colonne pour chaque valeur de la colonne A, avec la valeur de la colonne B.
Re : Calcul sur plusieurs lignes@pmroz :
Merci. Je suis désolé, mais je n'ai pas d'expérience dans le domaine des scripts de JMP. Je ne comprends pas bien votre réponse. Existe-t-il un moyen d'effectuer les actions mentionnées ci-dessus directement dans l'éditeur de formule ?
Re : Calcul sur plusieurs lignesUtilisez le obtenir des lignes où aptitude:
dt = ouvrir ( "$sample_data\Big Class.jmp" ) ;
match_rows = dt << obtenir des lignes où ( : sexe == "F" ) ;
imprimer ( match_rows ) ;
[1, 2, 3, 4, 5, 9, 10, 11, 16, 17, 18, 19, 20, 28, 29, 35, 36, 38]
La variable match_rows est une matrice que vous pouvez référencer par l'index.C'est-à-dire que match_rows[1] est le premier élément, etc.
Re : Calcul sur plusieurs lignes@ms:
Merci pour votre réponse. Cela m'a beaucoup aidé. Cependant je me suis heurté à un nouveau problème :
J'ai besoin d'une fonction pour renvoyer le numéro de ligne d'une ligne dans laquelle une cellule d'une colonne donnée répond à certains critères. Par exemple:
- Renvoie le numéro de ligne de la cellule dans la colonne 1 avec la valeur "A". En supposant que "A" n'apparaisse qu'une seule fois dans l'ensemble de données.
- Renvoie le numéro de ligne de la ligne précédente (ou suivante), par rapport à la ligne dans laquelle le résultat de la formule est affiché, dans laquelle la valeur de la colonne 1 est "A". "A" peut apparaître plusieurs fois dans l'ensemble de données.
- Renvoie le numéro de ligne de la cellule dans la colonne 1 avec la valeur la plus proche d'un nombre donné.
Re : Calcul sur plusieurs lignesBien que le tableau de données JMP ne soit pas une feuille de calcul "au format libre" comme une feuille Excel (par exemple, une colonne ne peut contenir que des données d'un seul type de données et les formules sont appliquées à l'ensemble de la colonne), tout ce qui précède est possible.
- diviser un nombre dans la colonne A, ligne 1 par un nombre dans la colonne B, ligne 2 ?
La formule de la colonne :A[1] / :B[2] applique ce rapport particulier à toutes les lignes.
La formule de la colonne :A / :B[Ligne() + 1] donne à chaque ligne le rapport entre la valeur actuelle de A et la valeur de la ligne suivante de B.
- calculer l'écart type des nombres de la colonne A, qui remplissent un critère basé sur le contenu de la colonne B (pas via le "X By Y", mais directement dans le tableau).
La formule de la colonne Col Std Dev( :A, :B ) donne l'écart type des valeurs de A pour chaque niveau de B. Des critères plus complexes peuvent être remplis mais peuvent impliquer une colonne intermédiaire qui catégorise B.
- Convertissez les lignes en colonnes, c'est-à-dire créez une colonne pour chaque valeur de la colonne A, avec la valeur de la colonne B.
Utilisez la commande Transposer du menu Tableaux.
Avec le script JSL, vous aurez beaucoup plus d'options que les exemples ci-dessus basés sur des formules de colonne.
Re : Calcul sur plusieurs lignesIl ne s'agit pas de réponses spécifiques, mais voici quelques idées potentiellement utiles pour vous aider à démarrer :
- Découvrez les opérateurs Dif() et Lag() à utiliser dans une formule
- Créez la colonne C avec une formule qui copie la valeur de la colonne A si une condition de la colonne B est remplie, sinon laissez vide "."
- Utiliser la fonction Diviser()