Wie kann man Zeilen aus dt1 basierend auf einer eindeutigen Werteliste aus dt2 auswählen und ausschließen?Also verwende ich dt1, um eine t-Test-Analyse durchzuführen (Mittelwert nach Kammer nach ChartID), und erstelle dann eine kombinierte Datentabelle, dt2, aller pvalues. Ich möchte dies auf Zeilen mit p <= 0,05 filtern, dann eine eindeutige, eindeutige Liste dieser niedrigen p-Werte erstellen und diese verwenden, um mein Diagramm nur mit den niedrigen p-Werten neu zu zeichnen.
Ich stecke jetzt ein bisschen fest und versuche, eine Verbindung zum ursprünglichen dt1 herzustellen. Die endgültige Auswahl, wo scheint nicht zu funktionieren.
auch zu beachten, wenn es einen besseren Weg gibt, um auszuwählen, auszuschließen, zurück zur Quelle dt zu verbinden, lassen Sie es mich bitte wissen. Ich habe versucht, Zusammenfassung, assoziatives Array.
//creating the table of pValues
dt2 = Report( ow[1] )["Means Comparisons", "Comparisons for all pairs using Tukey-Kramer HSD","Ordered Differences Report"][Table Box( 1 )] << Make Combined Data Table;
dt2 << set name( "pValue PairWise by Channel Tukey")
//select and exclude high pVals
dt2 << select where("p-Value"n > 0.05);
dt2 << exclude;
//get list of remaining Unique Chart_ID's
summarize(uniqueVals=by(CHART_ID));
//trying to select on the original source data
dt1 << select where( contains( uniqueVals, :CHART_ID));
//then need to invert and excludeAnalytikSkripterstellungBetreff: Wie wählt man Zeilen aus dt1 aus und schließt sie aus, basierend auf einer eindeutigen Liste von Werten aus dt2?Die UniqueVals-Variable muss denselben Datentyp wie dt1 haben, sodass Sie auswählen können, welchen Sie ändern möchten. Wenn Sie Chart_ID nicht als numerischen Datentyp benötigen, würde ich das in diesem Fall höchstwahrscheinlich in Character in dt1 ändern.
Betreff: Wie wählt man Zeilen aus dt1 aus und schließt sie aus, basierend auf einer eindeutigen Liste von Werten aus dt2?@jthi
Nach der Zusammenfassung sieht es also so aus, als ob die Chart_ID Numeric Continuous ist, während die ursprünglichen Quelldaten dt1 Chart_ID numerisch Nominal sind und die pvalue-Tabelle dt2 Character Nominal ist.
//extra, just to look at the data
dtUnique = New Table( "uniqueVals less 0.05");
dtUnique << New Column( "ChannelID", Values(uniqueVals));

Betreff: Wie wählt man Zeilen aus dt1 aus und schließt sie aus, basierend auf einer eindeutigen Liste von Werten aus dt2?@brady_brady
gute Fragen. Meine Quelldaten (dt1) haben also Chart_ID als Numeric Nominal. Nach dem Erstellen von Diagrammen und dem Ausführen von t-Test und dem anschließenden Ausgeben einer kombinierten Datentabelle (dt2) ist die Chart_ID-Spalte Character Nominal.
Betreff: Wie wählt man Zeilen aus dt1 aus und schließt sie aus, basierend auf einer eindeutigen Liste von Werten aus dt2?Meine erste Vermutung wäre eine Diskrepanz zwischen Zeichen- und Zahlenwerten.
Unten ist ein Beispiel mit Big Class:
Names Default To Here(1);
dt1 = Open("$SAMPLE_DATA/Big Class.jmp");
ow = Oneway(Y(:height), X(:age), All Pairs(1));
dt2 = Report(ow)["Means Comparisons", "Comparisons for all pairs using Tukey-Kramer HSD","Ordered Differences Report"][Table Box( 1 )] << Make Combined Data Table;
dt2 << set name( "pValue PairWise by Channel Tukey");
dt2 << select where(:"p-Value"n > 0.05);
dt2 << exclude;
summarize(dt2, uniqueVals=by(:level)); //check out the type of :level column, could be character
//convert to numbers OR you could convert values in dt1 to characters
For( i = 1, i <= N Items(uniqueVals ), i++,
uniqueVals[i] = Num(uniqueVals[i] )
);
dt1 << select where(Contains(uniqueVals, :age));Betreff: Wie wählt man Zeilen aus dt1 aus und schließt sie aus, basierend auf einer eindeutigen Liste von Werten aus dt2?Sind Ihre Diagramm-IDs zufällig numerisch? Das by()-Ergebnis in Summarize ist eine Liste von Zeichenfolgen – selbst wenn die ursprünglichen Gruppenbezeichner Zahlen waren. Dadurch wird verhindert, dass diese Listenelemente (die wiederum Zeichenfolgen sind) mit irgendwelchen Werten in der ursprünglichen Tabelle (die Zahlen sind) übereinstimmen.
??
Beifall,
Brady