Funktion verketten, die Zeilen überschreibt?Ich schreibe einen Teil eines Skripts, um eine Tabelle zu aktualisieren, indem neue Zeilen mit der Funktion "Concatenate" angehängt werden. Jedes Mal, wenn ich jedoch versuche, mit einem bestimmten Satz von 7 Zeilen zu verketten, überschreibt das Skript irgendwie die ersten sieben Zeilen in der ursprünglichen Tabelle mit den neuen sieben und fügt dann die neuen sieben Zeilen auch unten hinzu. In keiner der Tabellenspalten gibt es identische Werte zwischen den neuen und ersetzten Zeilen.
Weiß jemand was hier passieren könnte? Gibt es einen Teil der Concatenate-Funktion, den ich übersehen könnte?
Danke vielmals,
Brian D.
Betreff: Verketten-Funktion überschreibt Zeilen?Ihre beschriebenen Ergebnisse Ihres Codes sind genau so, wie ich es von JMP erwarten würde.Wie angegeben
dt6 << Update( With( dt5)));
nimmt Zeile 1 aus der Datentabelle dt5 und schreibt sie über Zeile 1 aus der Datentabelle dt6. Und schreibt weiterhin Zeile 2 von dt5 auf Zeile 2 in dt6 usw., bis die letzte Zeile der Datentabelle die kürzeste Anzahl von Zeilen hat.
Dann die Aussage
dt6 << Concatenate( dt5, append to first table);
fügt neue Zeilen am Ende der Datentabelle dt6 hinzu, eine neue Zeile für jede Zeile in dt5, und fügt der dt6-Datentabelle neue Spalten hinzu, die sich in dt5 befinden und nicht in dt6 waren.
Was Sie meiner Meinung nach tun möchten, ist die Verwendung von a
Tische==>Beitreten
Dadurch können Ihrer Datentabelle sowohl neue Zeilen als auch neue Spalten hinzugefügt werden.Dies geschieht durch Erstellen einer neuen Tabelle, aber es ist eine sehr einfache Aufgabe, nach dem Erstellen der neuen Tabelle die alte dt6 zu löschen und die neue Tabelle in den Namen von dt6 umzubenennen.
Betreff: Verketten-Funktion überschreibt Zeilen?Danke für die Antwort. Ich glaube nicht... Ich habe eine Tabelle, die ich aktualisiere ("FPKM nach Genlauf") und eine neue ("Neue Gene FPKM nach Ferm & Stamm"), die mein Skript generiert. Der Update- und Concatenate-Teil meines Skripts lautet wie folgt:
dt5 = Data Table( "New genes FPKM by ferm & strain" );
dt6 = Data Table( "FPKM by gene running" );
dt6 << Update( With( dt5)));
dt6 << Concatenate( dt5, append to first table);
Ich verwende die Concatenate-Funktion sowie Update, da Update anscheinend neue Spalten hinzufügt, aber keine neuen Zeilen? Idealerweise möchte ich der Tabelle "FPKM by gene running" Spalten UND Zeilen hinzufügen, und zwar nur diejenigen, die zuvor nicht vorhanden waren. Entschuldigung, da ich neu bei JSL bin.
Betreff: Verketten-Funktion überschreibt Zeilen?Wenn Sie uns Ihren Code geben, können wir Ihnen viel besser helfen.Betreff: Verketten-Funktion überschreibt Zeilen?Ist es möglich, dass Ihr Code so etwas tut:
dt1 = Data Table( "old rows" );
dt2 = Data Table( "new rows" );
dt3 = dt2 << Concatentate( dt2, ... );
Das heißt, verkettet der Code versehentlich dieselbe Datentabelle mit sich selbst?