FOR Loop on String-Daten<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Es tut uns leid, wenn dies eine verrückte grundlegende Frage ist, jedoch keine Antwort auf diese Frage gefunden wurde (möglicherweise die falsche Frage).
Ich versuche, ein Skript zu schreiben, das N, Mittelwert und Median eines Parameters (Zeichenfolgendaten) innerhalb eines bestimmten geografischen Gebiets (HUC - dies ist eine Zahl, jedoch als Zeichenfolge festgelegt) nach Jahren gruppiert. Ich habe einige Beispieldaten zur Verdeutlichung beigefügt, habe aber grundsätzlich mehrere Probenahmestationen mit mehreren Parametern über mehrere Jahre. Die Idee ist für jedes geografische Gebiet und jeden Parameter innerhalb dieses Gebiets. Finden Sie den jährlichen Mittelwert, den Mittelwert und den Mittelwert. Lassen Sie das Skript jeden Parameter für jeden Bereich durchlaufen.
Meine Fragen:
1 Bin ich auf dem richtigen Weg?
2 Wenn ja, was würde ich für die Initialisierung und die Iterationsteile der For-Schleife verwenden?
dt = Datentabelle ("Data_TP");
Zum (
While (Parameter = "Trübung", HUC = "03020101")
Zusammenfassung(
Gruppe (Aktivjahr),
N (Wert), Mittelwert (Wert), Median (Wert),
Name der Ausgabetabelle ("Test"))
// Tabelle speichern;
)
);
Jede Hilfe oder Referenzvorschläge wäre sehr dankbar!
Re: FOR Loop on String-DatenFRAU,
Das war unglaublich hilfreich! Ich habe versucht, es viel schwieriger zu machen, als es sein musste. Ich werde es in einzelne Tabellen aufteilen müssen, wie es vom Chef verlangt wurde, aber aus Gründen der Datenbank auch eine All-in-One-Tabelle erstellen wollte. Ich werde also beide Skripte ausführen.
Das hat perfekt und sehr schnell funktioniert.
Vielen Dank!
Mel
PS: Ich wünschte, ich könnte die Daten gutheißen, aber es ist nur eine viel gekürzte Version dessen, was ich aus EPA STORET gezogen habe.
Re: FOR Loop on String-DatenIch denke nicht, dass du eine Schleife brauchst.
Sie können nach mehreren Spalten gruppieren.
Ich habe die "Zusammenfassung" der GUI verwendet, um das zu tun, was Sie (ich denke) wollen, und es hat dieses Skript erzeugt:
| | Datentabelle ("Beispiel_Daten") << Zusammenfassung ( |
| | | Gruppe (: HUC,: ActivYear,: CharacteristicName), |
| | | N (: Ergebniswert als Zahl), |
| | | Mittelwert (: Ergebniswert als Zahl), |
| | | Median (: Ergebniswert als Zahl) |
| | ) |
- MK
Re: FOR Loop on String-DatenSie benötigen keine Schleife, um eine Übersichtstabelle zu erstellen. Der folgende Code gibt Ihnen eine Tabelle mit N, Mittelwert und Median für jedes HUC, Jahr und Variable (kann auch interaktiv ausgeführt werden: Tabellen -> Zusammenfassung)
dt = Datentabelle ( "Example_Data.jmp" ) ;
dtsum = dt << Zusammenfassung (
Gruppe ( : HUC . : ActivYear . : Merkmalname ) .
N ( : Ergebniswert als Zahl ) .
Bedeuten ( : Ergebniswert als Zahl ) .
Median ( : Ergebniswert als Zahl )
) ;
// Wenn Sie jedoch für jede Kombination eine eigene Tabelle erstellen möchten, müssen Sie immer noch keine Schleife ausführen. Sie können Subsets nach einer oder mehreren Spalten erstellen. Zum Beispiel
dtsum << Teilmenge (
Durch ( : Merkmalname ) .
Alle Zeilen .
Nur ausgewählte Spalten ( 0 ) .
) ;
Versuchen Sie dies NICHT mit der Beispieltabelle, wenn Sie nicht möchten, dass der Bildschirm mit Datentabellen gefüllt wird. (Wenn es passiert, renne
alle schließen ( Datentabellen ) um alle Tabellen mit einem Befehl zu schließen).
Natürlich ist es auch möglich, die Daten in einer verschachtelten Schleife einzeln zu extrahieren. Das Der Befehl zusammenfassen ist ziemlich praktisch, aber ich glaube nicht, dass er den Median unterstützt. Es kann jedoch immer noch verwendet werden, um die Listen zum Durchlaufen zu generieren. Ich habe jetzt keine Zeit, ein Beispiel zu geben, aber vielleicht später, wenn Interesse besteht
Übrigens, schöner Datensatz. Auch ich benutze JMP, um Überwachungsdaten auszuwerten.