So schreiben Sie Gruppen, um eine flexible Anzahl von Gruppen zu handhabenHallo,
Arbeiten an der Automatisierung der Analyse und müssen das automatisierte generierte Skript allgemeiner gestalten.
Der Arbeitsablauf besteht darin, eine Übersichtstabelle zu erstellen, die in drei Spalten gruppiert ist, wobei vier Spalten abgeleitete Werte erhalten. Das ist gut.
Jetzt möchte ich Oneway-Diagramme mit einer der ursprünglichen Gruppierungsvariablen erstellen und die Diagramme nach einer zweiten Variablen weiter gruppieren.
Gruppierung: Zyklus, Schritt, eindeutiger Schritt
4 separate Oneway nach Zyklus gruppierten Schritt.
Das automatisch generierte Skript funktioniert in meiner Testdatei einwandfrei. Die Frage ist, wie man es allgemeiner macht.
Wenn ich mir das Skript ansehe, gibt es bestimmte Beschriftungen für den Schrittspaltenwert
<< {In Zeilen anordnen (4)}, Where (: Step == 1), Where (: Step == 1))
Und im Testfall gibt es 19 Werte für Schritt. Wie soll ich vorgehen, um die Anzahl der Schritte flexibel zu gestalten? Verschiedene Dateien haben unterschiedliche Anzahlen von Schritten. Was sind hier Best Practices? Mein gewünschtes Ergebnis ist es, die vier Diagramme in einer Reihe zu haben, wobei das Gruppierungsfeld auch den Wert des angezeigten Schritts (jetzt in kleinem Text nach den Diagrammen) und die Anzahl der Schritte hat, die eine eingehende Datei möglicherweise hat.
Andy
dt1=Data Table( dt) <<SUMMARY></SUMMARY>
SkriptingBetreff: So schreiben Sie eine Gruppe, indem Sie eine flexible Anzahl von Gruppen verarbeitenEinige Fortschritte gemacht.
Der größte Arbeitsaufwand kann mit dem Operator "By" erledigt werden.
Was jedoch noch fehlt, ist, wie die Gruppen in 4er-Gruppen angeordnet werden, sodass die Diagramme für jede Gruppe nach Gruppierung in derselben Zeile liegen.
Irgendwelche Gedanken
Andy
view = dt1 << Oneway(
Y( {:"Min(TV Pres (torr))"n ,:"Min(DS Pres (torr))"n,:"Max(TV Pres (torr))"n, :"Max(DS Pres (torr))"n}),
X( :Cycle ),
by (:Step),
Quantiles( 1 ),
Means( 1 ),
Mean Diamonds( 0 ),
Box Plots( 1 ),
X Axis Proportional( 0 ),
Points Jittered( 1 ),
Grand Mean( 0 ),
SendToReport(
Dispatch( {}, "Quantiles", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} ),
Dispatch( {"Oneway Anova"}, "Analysis of Variance", OutlineBox, {Close( 1 )} )
)
);Betreff: So schreiben Sie eine Gruppe, indem Sie eine flexible Anzahl von Gruppen verarbeitenIm Folgenden finden Sie ein Beispiel, in dem die 4 Diagramme in eine einzelne Zeile und eine Zeile für jede in der Analyse angegebene Spalte eingefügt werden

Names Default To Here( 1 );
dt1 = Open( "$SAMPLE_DATA\big class.jmp" );
// restrict to 4 ages to match the 4 level requirement
dt1 << select where( :age >= 16 );
dt1 << delete rows;
// Create a window to place the output in
nw = New Window( "test", lub = Lineup Box( N Col( 4 ) ) );
// Run the analysis with a By clause
view = dt1 << Oneway(
invisible,
Y( :height, :weight ),
X( :sex ),
Quantiles( 1 ),
Means( 1 ),
Box Plots( 1 ),
Mean Diamonds( 1 ),
by( :age ),
SendToReport(
Dispatch( {}, "Quantiles", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} ),
Dispatch( {"Oneway Anova"}, "Analysis of Variance", OutlineBox, {Close( 1 )} )
)
);
// Take the elements from the outout and place in the window
// The display produces all levels of the by across one level
// of by group and then moves onto the next by group. Therefore
// the displays need to be picked across the full range of outputs
// to get the four grqaphs aligned
numCols = N Items( view ) / 4;
For( col = 1, col <= numCols, col++,
For( theRow = 1, theRow <= 4, theRow++,
lub << append( Report( view[(theRow - 1) * numCols + col] ) );
i++;
)
)
;
Betreff: Wie man eine Gruppe per Skript erstellt, um mit einer flexiblen Anzahl von Gruppen umzugehenHallo,
Ich erhalte eine Fehlermeldung beim i ++ - Aufruf im letzten Bit des Codes. Ich sehe keine Variable, die früher im Code initialisiert wurde. Worauf bezieht es sich?
Andy