Hallo alle,
Ich habe diese Datentabelle (im Anhang), die ich mit einem JSL-Skript analysieren möchte. Ich bin noch nicht sehr weit gekommen... Ich kenne die Funktion „Col Moving Average“, konnte sie aber nicht an meine Bedürfnisse anpassen. Ich würde mich über Ihren Beitrag freuen!
Das Skript sollte
1. Sortieren Sie die Spalte „Minuten“ nach der Spalte „Gruppe“.
2. Berechnen Sie die Rollsteigungen für die „Lesung“ nach „Gruppe“.
Die Ausgabe sollte aus zwei hinzugefügten Spalten bestehen:
1. Die Rollneigung, aber nur für Zeilen, vor denen genügend Reihen liegen, um die Rollneigung zu berechnen. Wenn die Fenstergröße beispielsweise auf 5 eingestellt ist, sollte die Rollneigung erst bei Zeile 5 beginnen.
2. Der Abstand zwischen den beiden Randzeitpunkten des Rollfensters geteilt durch 2. Wenn beispielsweise der erste und der letzte Zeitpunkt des aktuellen Fensters 3 und 8 sind, sollte dieser Wert 2,5 sein.
Danke schön!!
Wenn ich verstanden habe, was Sie mit rollender Steigung gemeint haben, finden Sie hier ein Skript, mit dem Sie genau das tun können, was Sie suchen, und das Geheimnis hinter der Erstellung des Skripts.
Skript:
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,
.
)));
Geheimnis (Sie können dies überspringen, wenn Sie es bereits wissen
:
Wenn Sie wissen, wie man Dinge in der GUI in JMP macht, brauchen Sie nicht viel Skripting-Know-how, um die Skripts zu erstellen, die Sie tun können meistens einfach aus dem Protokoll kopieren/einfügen. Drei Beispiele für dieses Skript:
1. Sortieren. Zuerst habe ich die Datentabelle mit dem Befehl „Tabellen...Sortieren“ sortiert, dann habe ich mir das in der neuen Datentabelle gespeicherte „Quelle“-Skript angesehen und es in ein neues Skriptfenster kopiert/eingefügt (ich habe ein „dt =“ hinzugefügt). am Anfang und ein Semikolon am Ende, Sie müssen also über ein wenig Skripting-Know-how verfügen).

2. Ich habe über die GUI eine neue Tabellenvariable hinzugefügt (rotes Dreieck auf der Tabelle, Neue Tabellenvariable), dann habe ich mir das Protokoll angesehen, das Skript schamlos kopiert und in mein Skriptfenster eingefügt. Den ersten Teil habe ich durch einen Verweis auf „dt“ ersetzt.

3. Ich habe „dt << neue Spalte („Rolling Slope“, numerisch, Formel festlegen (xxx));“ eingegeben, dann habe ich die Formel in der GUI erstellt und sie kopiert/eingefügt, um den Abschnitt „xxx“ von zu ersetzen Code.

Davon abgesehen, Hier ist ein Link zu einem hervorragenden und kostenlosen Kurs zum Erlernen von Skripten.