Erforderliche Eingaben zum Transformieren einer Tabelle oder Matrix<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Diese Frage steht im Zusammenhang mit meinem vorherigen Beitrag (oder Benötigen Sie einen Vorschlag zur besten Möglichkeit, eine Tabellenspalte für eine ID hinzuzufügen, die dies tut. ). Auf diesen Beitrag wurde meine Frage speziell beantwortet und es gab viele Tipps, die ich gelernt habe. Ich brauche jedoch wieder einen guten Vorschlag, wie man eine Tabelle oder Matrix manipuliert, um sie von der ursprünglichen Form in die beabsichtigte Form umzuwandeln.
Angenommen, dies ist meine ursprüngliche Tabelle (oder Matrix ähnlicher Form):
Tabelle 1: Originaltabelle
| Spalte A | Spalte B | Spalte C | Spalte D |
| ein | e | ich | m |
| b | f | j | n |
| c | G | k | O |
| d | h | l | p |
Ich wollte, dass jede Zeile aus dieser Tabelle (oder Matrix) "n" mal wiederholt wird, sodass die resultierende Tabelle (oder Matrix) folgendermaßen aussehen würde:
Tabelle 2: Geplantes neues Tabellenformat
| Spalte A | Spalte B | Spalte C | Spalte D |
| ein | e | ich | m |
| ein | e | ich | m |
| ein | e | ich | m |
| ein | e | ich | m |
| b | f | j | n |
| b | f | j | n |
| b | f | j | n |
| b | f | j | n |
| c | G | k | O |
| c | G | k | O |
| c | G | k | O |
| c | G | k | O |
| d | h | l | p |
| d | h | l | p |
| d | h | l | p |
| d | h | l | p |
Im obigen Beispiel wurde jede Zeile aus der ursprünglichen Tabelle "4" wiederholt.
Als ich mit "Shaping" einer Matrix spielte und den Vorschlag übernahm, Tabellen "n" mal aus meinem vorherigen Beitrag zu verketten, konnte ich diese Tabelle erstellen (aus meiner ursprünglichen Tabelle)
Tabelle 3: Einige manipulierte Form von Tabelle 1, indem Sie die Matrix formen und die Zeilen "n" mal wiederholen
| Spalte A | Spalte B | Spalte C | Spalte D | Spalte E | Spalte F | Spalte G | Spalte H | Spalte I | Spalte J | Spalte K | Spalte L | Spalte M | Spalte N | Spalte O | Spalte P |
| ein | e | ich | m | b | f | j | n | c | G | k | O | d | h | l | p |
| ein | e | ich | m | b | f | j | n | c | G | k | O | d | h | l | p |
| ein | e | ich | m | b | f | j | n | c | G | k | O | d | h | l | p |
| ein | e | ich | m | b | f | j | n | c | G | k | O | d | h | l | p |
Ich bin jedoch hier festgefahren. Ich hätte mir gewünscht, dass diese Tabelle wie meine beabsichtigte Tabelle (Tabelle 2) wie oben beschrieben aussieht. Ich freue mich über Kommentare und Vorschläge. Ich glaube, dass es intuitivere und effizientere Wege gibt, um damit umzugehen, als ich es mir vorgestellt habe. Vielen Dank.
Re: Erforderliche Eingaben für die Transformation einer Tabelle oder MatrixHinzufügen zu Ians Antwort:
Das Klonen der Tabelle kann in einem Schritt erfolgen.
Namensvorgabe für Hier (1);
dt = aktuelle Datentabelle ();
dt << Verketten (dt, dt, dt, an erste Tabelle anhängen (1));
dt << Sort (By (Spalte A));
In vielen Fällen, in denen ich diese Technik verwendet habe, gibt es keine Spalte zum Sortieren, um die endgültige Reihenfolge zu erhalten. In diesem Fall mache ich also eine solche Spalte
Namensvorgabe für Hier (1);
dt = aktuelle Datentabelle ();
dt << neue Spalte ("Rownum", Werte (1 :: N Zeilen (dt));
dt << Verketten (dt, dt, dt, an erste Tabelle anhängen (1));
dt << Sort (By (Rownum));
dt << Spalten löschen ("Rownum");
Re: Erforderliche Eingaben für die Transformation einer Tabelle oder MatrixEs sieht so aus, als ob Sie oben 'Tabelle 2' finden. In JSL (wenn 'dt' eine Referenz auf Ihre Tabelle ist):
dt << Sortieren (By (: Spalte A));
Re: Erforderliche Eingaben für die Transformation einer Tabelle oder MatrixIch habe gerade an etwas gedacht ... Ich denke, es ist möglich, einfach die Originaltabelle "n" mal zu klonen ... und dann sortieren Sie einfach die Zeilen nach einer bestimmten Spalte (sagen wir zum Beispiel Spalte A). Denkst du das funktioniert?