Comment compter les lignes par la valeur dans une autre colonneJ'utilise JMP 12.0 depuis un certain temps et je le trouve fantastique. Cependant, il y a un problème pour lequel j'apprécierais de l'aide puisque je semble être la seule personne à utiliser JMP alors que les autres utilisent SPSS.
J'aimerais avoir quelques informations concernant les points suivants :
C1C2
Titre Ordre calculé
r1 chirurgien 1
chirurgien r2 2
chirurgien r3 3
r4 résident 1
r5 résident 2
r6 stagiaire 1
r7 stagiaire 2
etc.
Un de mes amis et collègues utilise SPSS et a écrit dans ce programme la formule suivante qui calcule la valeur en C2 dans son SPSS.
Faites si Titre>LAG(Titre).
Ordre de calcul = 1.
Fin si.
Faites si Titre = LAG (Titre).
Calculer l'ordre = LAG (Ordre) +1.
Fin si.
Exécuter.
Comment puis-je écrire une formule correspondante dans JMP ?
Très reconnaissant si quelqu'un pouvait expliquer comment.
LarsBirger
Re : Comment puis-je faire en sorte que JMP calcule une valeur reflétant l'ordre d'un paramètre.Merci pour vos réponses. Je vais y jeter un œil. Un collègue m'a aidé avec son programme statistique (SPSS) mais je vais certainement y réfléchir puisque j'utilise JMP en permanence pour mes recherches.
Cordialement
Lars
Re : Comment puis-je faire en sorte que JMP calcule une valeur reflétant l'ordre d'un paramètre.Si vous utilisez JMP 13, la fonction Col Rank() prend en charge la séparation par numéro de ligne, afin que vous obteniez l'effet que vous recherchez.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "Rank within age",
Formula( Col Rank( 1, :age, <<TIE></TIE>
Le premier argument est la valeur à classer, qui est généralement une autre colonne, mais dans ce cas, la valeur classée n'a pas d'importance, j'ai donc utilisé la constante 1.
Re : Comment puis-je faire en sorte que JMP calcule une valeur reflétant l'ordre d'un paramètre.Salut Lars!
Voici un script qui, je pense, fait ce que vous demandez sur l'ensemble de données Big Class dans les exemples de données :
Names Default To Here( 1 );
BC_dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
BCSorted_dt = BC_dt << Sort( By( :age, :sex, :height, :weight ), output table name("Big Class Sorted"));
BCSorted_dt << New Column( "Computed Order",
Numeric,
Ordinal,
Formula( If(row()==1 | :age!=Lag(:age, 1), 1, Lag(:Computed Order, 1)+1) ),
EvalFormula);
Si tout ce dont vous avez besoin est la formule, vous pouvez copier l'argument Formule() dans le script et le coller dans l'éditeur de formule... n'oubliez pas de trier d'abord les données de manière appropriée.
Bonne chance!