Hallo,
Ich habe ein Projekt und mein Ziel besteht darin, aus meiner Datentabelle (1) den Durchschnitts-, Maximal- und Minimalwert für jede Spalte zu extrahieren und die Ergebnisse in eine neue Tabelle (2) zu schreiben.
Ich habe diesen Teil des Codes gefunden und er scheint für einige Spalten zu funktionieren, aber nicht für alle. Ich habe ungefähr 300 Spalten und habe die Ergebnisse nur für zwanzig davon.
For( i = 1, i <= N Col( dt ), i++,
If (:Trial[i] =="TrialName",
If( Column( dt, i ) << get data type == "Numeric",
Write( "\!n", Column( dt, i ) << get name );
Write( Column( dt, i ), "\!nMin: ", Col Min( Column( dt, i ) ) );
Write( "\!nMax: ", Col Max( Column( dt, i ) ) );
Write( "\!nAverage: ", Col Moving Average( Column( dt, i) ) );
Write ("\!n");
)
)
); Ich kann die Ergebnisse in den Protokollen sehen, aber ich schaffe es nicht, die Ergebnisse in die rechte Spalte meiner neuen Tabelle zu schreiben (2).
Mehr sehen...Dieser Code zeigt ungefähr Folgendes:
Spalte 1
Mindestens: 10
Max : 50
Durchschnitt: 30
Hier ist ein Beispiel für das, was ich möchte:
Tabelle 1: Spalte 1 : Spalte 2 : --> Tabelle 2 -----> Spalte 1 : Spalte 2 :
10 45,2 Max. : 50 Max. : 52,4
20 48,3 Minute: 10 Minute: 18,3
30 36,7 Durchschnitt: 30 Durchschnitt: 40,18
40 52,4
50 18,3
--->
1. Ich glaube, dass nicht alle meine Daten als Zahlen betrachtet werden und JMP deshalb weder Minimum noch Maximum und Durchschnitt berechnen möchte. Ich habe jedoch keine Möglichkeit gefunden, den Datentyp zu „erzwingen“.
2. Ich schaffe es nicht, meine Ergebnisse in die Spalten der Abschlusstabelle einzutragen (2).
Ich bitte nicht um die vollständige Antwort, sondern nur um Tipps, weil ich wirklich nicht weiterkomme.
Danke !
Danke an euch alle für die Tipps! Daran werde ich nächste Woche arbeiten.
Ich habe alles gelesen, ich wusste nicht, dass dies mit JMP-Voreinstellungen möglich ist.
Mein Punkt ist, ein Skript auszuführen, um das Endergebnis für eine einfache Verwendung durch alle zu erhalten. Ich denke, ich kann den Schritt, den Sie mir gezeigt haben, skripten.
Danke !
Sie können mit JMP interaktiv alles bekommen, was Sie wollen. Ich werde mit Fitness aus dem Beispieldatenordner illustrieren. Angenommen, die Datentabelle ist geöffnet.
Schritt 1: Statistik berechnen
- Starte den Verteilung Plattform mit allen relevanten Datenspalten ( Das Alter durch MaxPulse ).
- Klicken Sie mit der rechten Maustaste auf die Zusammengefasste Statistiken Tabelle und auswählen Kombinierte Datentabelle erstellen .
Schritt 2: Ordnen Sie die Ergebnisse nach Ihren Wünschen neu an.
- Auswählen Tabellen > Teilen . Auswählen Y Spalte und klicken Sie auf Geteilt durch . Auswählen Spalte 2 und auswählen Spalte teilen . Auswählen Alle behalten . Klicken OK .




Ich meine nur, um einen schnellen, interaktiven Prozess zu veranschaulichen. Es kann in einem Skript als erfasst werden @txnelson empfohlen. Es kann bei jedem Schritt nach Bedarf angepasst werden.
Das von Ihnen beschriebene Projekt kann in JMP mithilfe einer der integrierten JMP-Plattformen generiert werden.Und sobald die Plattform interaktiv ausgeführt wird, kann die JSL zum Ausführen direkt von JMP bezogen werden.Ich schlage vor, Sie gehen einen anderen Weg zu Ihrer Lösung.
Nachfolgend finden Sie die Anfangsdatentabelle und die resultierende Datentabelle nach dem Ausführen der Plattform.


Um in eine andere Tabelle zu schreiben, könnten Sie einige dieser Add Rows() oder New Column() verwenden. Write() druckt nur die Werte in das JMP-Protokoll. Dann gibt es auch Subskription von Datentabellen , könnten Sie möglicherweise Tabulate() oder Summary() verwenden, um die Statistik zu berechnen (vielleicht sogar Distribution in Kombination mit make into datatable).
Um numerische Werte zu "erzwingen" (seien Sie vorsichtig, da dies zu einem Datenverlust führen kann und wird), können Sie versuchen, << Set Data Type ("Numeric") zu verwenden.
Weitere Informationen zu Funktionen finden Sie im Skripting-Index im Hilfemenü von JMP