So speichern Sie eine Spalte mit Werten aus einem Bericht zur späteren Verwendung<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich versuche ein Skript zu entwickeln, um mehrere Datenanalyse-Aufgaben zu automatisieren. Eine davon besteht darin, automatisch die Verteilung eines Datensatzes zu ermitteln und anschließend eine Simulation mit den Parametern dieser Verteilung auszuführen.
Ich habe die meisten Teile an Ort und Stelle, außer ich bin nicht sicher, wie ich die von der Distribution gespeicherten Parameter in der Profiler-Simulation verwenden soll.
Nach dem Verteilungscode speichere ich die Parameter wie folgt:
parameterOne = distReport [ "Insgesamt YA-P20" ] [ Umrissbox ( "?" || distNameOne )] [ "Parameterschätzungen" ] [ NumberColBox ( 1 )] ;
speichert dies alle Werte für die gesamte Spalte? Ich weiß, ob ich benutze ... [ NumberColBox ( 1 )] [ 1 ] ; Die erste Zeile wird gespeichert. Wie speichern Sie die Werte für eine unbekannte Anzahl von Zeilen?
Zweite Frage: Kann ich diese Variable "parameterOne" im Profiler einfach als solche verwenden ...
Eval (Parse (EvalInsert ("\ [
Profiler (
Y (Spalte (3))
Profiler (
1
Laufzeitwert (
Name ("Gesamt YA-P20") (227.01)
Name ("Gesamt-XB-P2") (324.6375)
)
Simulator(
1
Faktoren (
Name ("Overall YA-P20") << Zufällig (
^ distNameOne ^ ( parameterOne )
)
Name ("Overall XB-P2") << Zufällig (
^ distNameTwo ^ (ParameterTwo)
)
)
Antworten (kombiniert << No Noise)
)
)
)
] ""));
Ich habe es ohne Erfolg versucht. Keine Fehlercodes, aber der Profiler verwendet nicht die richtigen Parameter.
Vielen Dank für Ihre Hilfe und Geduld mit meinen amature-jsl-Fähigkeiten.
Betreff: So speichern Sie eine Spalte mit Werten aus einem Bericht zur späteren VerwendungSuper, danke! Alles hat funktioniert.
So speichern Sie eine Spalte mit Werten aus einem Bericht zur späteren VerwendungOK, ich verstehe das Problem. Mit dem folgenden Code können Sie eine Zeichenfolgendarstellung der Parameterliste erstellen:
mat = colBox << Get As Matrix;
strValues = "";
Für (i = 1, i <= NRows (mat), i ++,
strValues = strValues || Char (mat ) || ","
);
und füge diese Variable dann in den Befehl ein:
...
Faktoren (Höhe << Random (^ dist ^ (^ strValues ^))),
...
Technisch führt die Variable strValues zu einem zusätzlichen Komma am Ende der Liste. Dies könnte entfernt werden, aber JMP verzichtet auf redundante Kommas und der Code funktioniert einwandfrei.
Betreff: So speichern Sie eine Spalte mit Werten aus einem Bericht zur späteren VerwendungHallo Dave
Ich verstehe, dass alle Parameter in NumColBox (1) gespeichert sind, aber der Grund, warum ich ihn zweimal beziehe, weil ich auf die Parameter von 2 verschiedenen Verteilungsberichten verweise.
Mein Hauptproblem ist, dass sich die Anzahl der Parameter je nach Art der Verteilung ändert. Ich könnte also 1, 2 oder mehr Parameter haben, abhängig von den Daten (Normal, Weibull usw.). Daher kann ich den oben angegebenen Code nicht verwenden, da davon ausgegangen wird, dass ich immer 2 Parameter habe. Gibt es eine Möglichkeit, die Elemente in der Matrix mit einer unbekannten Größe zu verwenden?
So speichern Sie eine Spalte mit Werten aus einem Bericht zur späteren VerwendungDie Parameterschätzungen befinden sich in der Anzeigebox NumColBox (1). Sie müssen nur einmal darauf verweisen. Die Get As Matrix-Nachricht ruft alle Parameterschätzungen als eine einzige Sammlung ab. Sie müssen dann auf bestimmte Elemente in dieser Matrix verweisen:
Open ("$ SAMPLE_DATA / Big Class.jmp");
dist = Verteilung (
Kontinuierliche Verteilung (
Spalte (: Höhe),
Fitverteilung (Weibull)
)
);
distR = dist << report;
parameterEstimates = distR [NumberColBox (1)];
matParameters = parameterEstimates << Get As Matrix;
Parameter1 = matParameters [1];
Parameter2 = matParameters [2];
show (matParameters, Parameter1, Parameter2);
Betreff: So speichern Sie eine Spalte mit Werten aus einem Bericht zur späteren VerwendungDanke für die Hilfe.
Ich speichere die Daten jetzt ordnungsgemäß als Matrix, aber wenn ich versuche, sie im Profiler zu verwenden, werden immer noch die falschen Zahlen verwendet ...
MatrixParameterOne = parameterOne << Erhalten Sie als Matrix ;
MatrixParameterTwo = parameterTwo << Erhalten Sie als Matrix ;
// Simulation ausführen
Eval ( Parse ( EvalInsert ( "\ [
Profiler (
Y (Spalte (3))
Profiler (
1
Laufzeitwert (
Name ("Gesamt YA-P20") (227.01)
Name ("Gesamt-XB-P2") (324.6375)
)
Simulator(
1
Faktoren (
Name ("Overall YA-P20") << Zufällig (
^ distNameOne ^ (^ MatrixParameterOne ^)
)
Name ("Overall XB-P2") << Zufällig (
^ distNameTwo ^ (^ MatrixParameterTwo ^)
)
)
Antworten (kombiniert << No Noise)
)
)
)
] \ " ))) ;
Irgendwelche Gedanken dazu ??
Betreff: So speichern Sie eine Spalte mit Werten aus einem Bericht zur späteren VerwendungZum Speichern der Parameter; Sie können einen Verweis auf das Anzeigefeld erstellen und dann Nachrichten an das Anzeigefeld senden. Beispiel:
Open ("$ SAMPLE_DATA / Big Class.jmp");
dist = Verteilung (
Kontinuierliche Verteilung (Spalte (: Höhe), Fitverteilung (Normal))
);
distR = dist << report;
colBox = distR [NumberColBox (1)];
mat = colBox << Get As Matrix;
show (mat)
Für die zweite Frage verwenden Sie zum Ersetzen von Variablen in der Auswertung die Notation ^ name ^ auf dieselbe Weise wie für den Verteilungsnamen, z
Name ("Overall YA-P20") << Zufällig (
^ distNameOne ^ ( ^ parameterOne ^ )
)
-Dave