Salut tout le monde,
J'ai cette table de données (ci-jointe) que j'essaie d'analyser avec un script jsl. Je ne suis pas allé très loin... Je connais la fonction `Col Moving Average` mais je n'arrive pas à l'adapter à mes besoins. J'apprécierais votre contribution !
Le scénario devrait
1. Triez la colonne "Minutes" par colonne "Groupe"
2. Calculez les pentes de roulement pour la "Lecture" par "Groupe".
La sortie doit être deux colonnes ajoutées :
1. La pente glissante, mais uniquement pour les lignes qui ont suffisamment de rangées devant elles pour calculer la pente glissante. Par exemple, si la taille de la fenêtre est définie sur 5, la pente glissante ne doit commencer qu'à la ligne 5.
2. La distance entre les deux points temporels de bord de la fenêtre glissante divisée par 2. Par exemple, si les premier et dernier instants de la fenêtre actuelle sont 3 et 8, cette valeur doit être 2,5.
Merci!!
si j'ai compris ce que vous vouliez dire par pente roulante, voici un script pour faire ce que vous cherchez et le secret derrière la façon de faire le script.
Scénario:
dt = Data Table( "Input data" ) << Sort(
By( :Group, :Minutes ),
Order( Ascending, Ascending ),
Output Table( "Sorted Input Data.jmp" )
);
dt << New Table Variable ("window", 5);
dt << new column ("Rolling Slope", numeric, set formula (If( Row() > window,
(:Reading + Lag( :Reading )) / 2,
.
)));
Secret (vous pouvez ignorer ceci si vous le connaissez déjà
:
Si vous savez comment faire les choses dans l'interface graphique de JMP, vous n'avez pas besoin d'une tonne de savoir-faire en matière de scripts pour créer les scripts permettant de faire les choses, car vous pouvez principalement il suffit de copier/coller depuis le journal. Trois exemples pour ce script :
1. Tri. J'ai d'abord trié la table de données à l'aide de la commande Tables...Sort, puis j'ai regardé le script "Source" enregistré dans la nouvelle table de données, et je l'ai copié/collé dans une nouvelle fenêtre de script (j'ai ajouté un "dt = " au début et un point-virgule à la fin, vous devez donc avoir un peu de savoir-faire en matière de script).

2. J'ai ajouté une nouvelle variable de table à l'aide de l'interface graphique (triangle rouge sur la table, nouvelle variable de table), puis j'ai regardé le journal et copié sans vergogne le script, et l'ai collé dans ma fenêtre de script. J'ai remplacé la première partie par une référence à "dt".

3. J'ai tapé "dt << nouvelle colonne ("Rolling Slope", numérique, formule définie (xxx));", puis j'ai créé la formule dans l'interface graphique et l'ai copiée/collée pour remplacer la section "xxx" de code.

Cela étant dit, voici un lien à un excellent cours gratuit pour apprendre les scripts.