Ich versuche, DT-2 (im Anhang) aufzuteilen – Aufteilen nach: Markierung, Spalten aufteilen: Ergebnisse. Ich möchte alle verbleibenden Spalten behalten.
Das Problem besteht darin, dass einige Markierungen mehr Zeilen haben als andere. Beim Teilen wird daher das nächste „Los“ kombiniert, um die anderen Markierungen aufzufüllen, die weniger als das Maximum in der Tabelle haben.
Beispielsweise sollten für die Charge 7587082 nur 3 Werte für CD19+ vorhanden sein, nach der Aufteilung werden jedoch 6 angezeigt, wobei die Werte der nächsten Charge, 7587083, absorbiert werden.
Wie kann ich das richtig zum Laufen bringen? Übersehe ich etwas? Idealerweise hätte ich das gerne in einem Skript, das derzeit so aussieht (das gesamte Skript wird nicht angezeigt, nur die Aufteilung):
dt3 = dt2 << Split(Split nach( :Markierung ), Split( :Ergebnisse ));
Jede Hilfe wird sehr geschätzt!!!
Ich glaube, ich verstehe nicht, warum, wenn Sie die Optionen zum Beibehalten der Spalten auswählen, die beibehaltenen Spalten mit permutierten Daten gefüllt werden, die nicht korrekt den geteilten Daten aus den ursprünglichen Zeilen der ursprünglichen Tabelle entsprechen. In welcher möglichen Situation wäre dieses Standardverhalten nützlich?
Warum würde es zum Beispiel nicht Zeile für Zeile durch die ursprüngliche Tabelle gehen und nach der Aufteilung eine neue Tabelle mit einer entsprechenden Zeile für jede ursprüngliche Tabelle generieren, aber nur mit der ausgewählten Spalte, die aufgeteilt ist.
Die Art und Weise, wie es sich für mich verhält, ist, dass es während der Aufteilung mit permutierten Daten in den beibehaltenen Spalten endet.
Die einzige Möglichkeit, die Daten Zeile für Zeile richtig zugeordnet zu halten, besteht darin, alle beibehaltenen Spalten in die Gruppierung aufzunehmen.
Ich würde hier gerne eine Datentabelle als Beispiel hochladen, aber offensichtlich erlaubt uns mein Unternehmen nicht, private Daten zu teilen.
*Bearbeiten: Ich habe die Tabelle neu codiert, also werde ich sie hier hochladen.
Diese Tabelle hat die Spalten A bis G.
Ich möchte Spalte G durch Spalte B aufteilen, während alle Etiketten in Spalte A, C, D, E korrekt mit den entsprechenden Daten in Spalte G verknüpft bleiben.
Das Ausführen des folgenden Skripts erzeugt eine durcheinandergebrachte Tabelle mit den Einträgen in Spalte A, C, D, E, die nicht ihren relativen Werten aus der geteilten Spalte G entsprechen.
Data Table( "example-table" ) << Split( Split By( :B ), Split( :G ) )
Dies erzeugt ein korrektes Ergebnis, denke ich:
Data Table( "example-table" ) << Split(
Split By( :B ),
Split( :G ),
Group( :A, :C, :D, :E ),
Sort by Column Property
)
Aber ich verstehe immer noch nicht, warum irgendetwas an erster Stelle gruppiert werden muss:
Wenn ich das folgende Skript ausführe, zeigt es mir, dass die ursprüngliche Tabelle nur eine Zeile für eine bestimmte Kombination von A, B, C, D, E hat, also sollte keine Gruppierung erforderlich sein, oder?
Data Table( "example-table" ) << Summary(
Group( :A, :C, :D, :E, :B ),
Freq( "None" ),
Weight( "None" )
)
Die Split-Plattform ist eine generische Plattform.Es liest keine Informationen aus der Datentabelle, bzgl. Gruppierung etc.Der Benutzer muss die Spalten Split By, Split Columns und Group ausfüllen.
Ich möchte diese alte Frage wieder aufleben lassen.
Können Sie bitte erklären, warum dieses Verhalten auftritt?
Ich bin auf das gleiche Problem gestoßen und es ist für mich kontraintuitiv, warum Sie nach einigen Variablen gruppieren müssen, anstatt dass JMP dies automatisch tut, wenn Sie die Spalten beibehalten?
Das hat es getan. Danke txnelson!
Gruppe ( :Chargennummer, :Instrument )