dynamische Y-Variable für EinweganalyseHallo zusammen,
Ich versuche, eine dynamische Y-Variable für die Einweganalyse zu skripten und dann den Mittelwert in eine kombinierte Tabelle auszugeben. Ist dies ein korrekter Weg?
dt = Data Table ("Analysis");
ColNamesList = d1 << get column names (string );
For( i = N Items( ColNamesList ), i >= 1, i--,
OW = (dt << Oneway( Y( Column(ColNamesList) ),
X(:SITE),
Mean ( 1 ),
Automatic Recalc( 0 )
)) << Report;
);
dtCombined = Report( OW[1] )[Table Box( 1 )] << Make Combined Data Table;Danke im Voraus !
AnalytikDatentabelleSkripterstellungBetreff: Dynamische Y-Variable für EinweganalyseFühren Sie es aus: Funktioniert es für Ihren Tisch?
Wenn ja, ist dies ein richtiger Weg, es zu tun!
Wenn nicht, lassen Sie uns wissen, wo Sie auf Probleme stoßen.
Betreff: Dynamische Y-Variable für EinweganalyseEntschuldigung, ich habe aus Versehen auf die Lösungsschaltfläche geklickt.
Das Skript hat keinen Fehler ausgelöst. Aber es wurde auch kein Diagramm als Ausgabe gesehen.
Das Skriptprotokoll zeigt nur Skriptfähig an.
Betreff: Dynamische Y-Variable für EinweganalyseLiebling @XiangCD_MP_User , Ich hatte mehrere Probleme mit Ihrem Skript. Wenn ich Ihre Aufgabe bekommen habe, führt sie eine Einweganalyse für jede fortlaufende Spalte der Datentabelle von :site durch und speichert die Datentabelle mit dem Mittelwert.
Wenn ja würde ich es wie folgt machen:
Alternativ gibt es auch andere Möglichkeiten, zB alle in einer "Fit Group"-Abrechnung zusammenzufassen. Der beste Weg hängt von Ihren Skriptfähigkeiten ab und davon, in welcher genauen Umgebung es ausgeführt werden soll.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
// dt = Data Table ("Analysis");
OW_lst = {};
ColNamesList = dt << get column names( string, "Continuous" );
// When using single report windows, you would need to collect the result table from each of them
/*
For( i = N Items( ColNamesList ), i >= 1, i--,
Insert Into( OW_lst, dt << Oneway( Y( Column( ColNamesList[i] ) ), X( :sex ), Means( 1 ), Automatic Recalc( 0 ) ) )
);
*/
// Generate new report window to collect all analyses
nw = New Window( "Oneway Collection",
hlb = H List Box(
For( i = N Items( ColNamesList ), i >= 1, i--,
// collect references to each analysis in OW_lst
Insert Into( OW_lst, dt << Oneway( Y( Column( ColNamesList[i] ) ), X( :sex ), Means( 1 ), Automatic Recalc( 0 ) ) )
)
)
);
// Message will collect all similar tables in one data table
dtCombined = Report( OW_lst[1] )[Table Box( 1 )] << Make Combined Data Table;
// Alternatively you would be able to get the same result w/o working with a list like follows
//(nw << XPATH( "//TableBox" ))[2] << Make Combined Data Table;Betreff: Dynamische Y-Variable für Einweganalyse@XiangCD_MP_User ,
Sie können versuchen, Response Screening im Menü „Analyze>Screening“ zu verwenden. Sie können die Liste der Spaltennamen weiterhin an den Y-Variablenplatzhalter übergeben. Die Ausgabe von Response Screening ermöglicht eine Option im roten Dreieck, um Mittelwerte für jede X-Ebene oder eine P-Werte-Tabelle zu speichern, die den Mittelwert für jedes Y enthält.
Wenn Sie alle Spalten finden, die mit einer Zeichenfolge übereinstimmen, und sie in eine Liste einfügen (was so aussieht, wie Sie es tun), können Sie den Variablennamen (mithilfe von Eval()) in der Y-Variablen von Response Screening verwenden. Oder Sie können sie in einer Spaltengruppe gruppieren und innerhalb der Antwortprüfung auf die Spaltengruppe verweisen. Effektiv wird es die Schleife so ausführen, wie Sie es möchten, und es ist dynamisch.
Etwas wie:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Probe.jmp" );
dt << Response Screening(
X( :Process ),
Y( Column Group( "Responses" ) ),
PValues Table on Launch( 1 ),
Save Means
);
Dies gibt die p-Werte sowie den Mittelwert von Y für jeden Vergleich aus.