Konvertieren mehrerer Spalten in eine Spalte, genau wie das Bild.Ich brauche Hilfe bei dieser Tabelle.
Ich versuche, einen Teil des Tisches zu drehen.
Die Tabelle hat etwa 300 Spalten und 30 Zeilen.
Ich möchte die Zeilen 12 bis 30 bis Spalte 11 so beibehalten, wie sie sind.
und drehen Sie die restlichen Spalten (von 12 bis zum Ende), so dass sie genau wie das Bild sind.
Ich denke, die Lösung wird folgende sein: Jede Zeile von 12 bis 30 hat 288 Spalten.
Siehe Bild für die Idee dessen, was ich will.
Wenn Sie einen Code senden könnten, wäre das großartig.
Das erste Bild zeigt die eigentliche Tabelle.
Das zweite Bild zeigt die Lösung, die ich will.


Betreff: Konvertieren mehrerer Spalten in eine Spalte, genau wie auf dem Bild.Hier ist ein Skript, das mit der von Ihnen bereitgestellten Beispieldatentabelle funktioniert.Übrigens wäre es bequemer, wenn Sie eine Kopie der Datentabelle angehängt hätten, anstatt sie manuell erstellen zu müssen.Abgesehen davon glaube ich, dass das Skript funktioniert, solange die ersten 11 Spalten statisch bleiben, die Daten in Zeile 3 beginnen und alle Spalten nach Spalte 11 als zu verarbeitende Spalten gelten.
names default to here(1);
dt=current data table();
// Find the number of columns to process
numberOfMeasurements = N Cols(dt) - 11;
// Add the 3 new columns to place the measurements into
dt << Add Multiple Columns( "Rotated", 3,After(:column 11), Character );
// Add in the number of empty rows required for all of the rotations
For(i=N Rows(dt),i>=3, i--,
dt << Add Rows( numberOfMeasurements - 1, after(i) );
);
// Move the data into the required new cells
For( theRow = 3, theRow <= N Rows(dt), theRow = theRow + numberOfMeasurements,
For( theCol = 12 + 3, theCol <= N Cols(dt), theCol++,
:Rotated 1[theRow + theCol-12-3] = column(theCol)[1];
:Rotated 2[theRow + theCol-12-3] = column(theCol)[2];
:Rotated 3[theRow + theCol-12-3] =
column(theCol)[theRow];
)
);
Alle verwendeten Funktionen sind im Scripting Index dokumentiert
Hilfe==>Scripting-Index
Schließlich stelle ich dieses Skript unter der Annahme bereit, dass Sie neu bei JMP sind, und daher als Veranschaulichung, dass JMP JSL so ziemlich alles tun kann, was Sie tun müssen.Das Community-Forum ist kein Ort, um Einzelpersonen aufzufordern, Code für Sie zu schreiben.Es ist eine Gruppe, deren Zweck es ist, JMP-Benutzern zu helfen, die Probleme haben.Es wird davon ausgegangen, dass Mitglieder, die als Fragen da sind, JMP lernen, damit sie in Zukunft kompetentere und unabhängigere Benutzer von JMP werden.
Betreff: Konvertieren mehrerer Spalten in eine Spalte, genau wie auf dem Bild.
Dies ist die eigentliche Datei. Können Sie erklären, wie ich die Tabelle aufteilen und erneut verknüpfen kann?
Betreff: Konvertieren mehrerer Spalten in eine Spalte, genau wie auf dem Bild.Zunächst einmal ist Ihre ursprüngliche Datentabelle eine ungeeignete Struktur für eine JMP-Tabelle.JMP ist keine Tabellenkalkulation.Es ist eine analytische spaltenbasierte Datentabelle.Und die Statistik- und Grafikplattformen von JMP nehmen die Form der Analysedatentabelle an.Wenn Sie also versuchen, Ihre Spalten und Zeilen in Ihrer Datentabelle zu transponieren, können Sie die nicht verwenden
Tabellen==>Transponieren
Plattform.
Darüber hinaus können Sie viele der mathematischen JSL-Funktionen nicht direkt verwenden, da alle Spalten und damit alle einzelnen Zellen vom Datentyp sind, damit Sie die Tabelle so strukturieren können, wie Sie sie haben Zeichen, nicht numerisch.Wenn die Daten in Zeile 12 und darüber hinaus in einer JMP-Datentabelle enthalten wären, wäre die Verwendung einfach
Tabellen==>Split
um die Daten in die gewünschte Form zu ändern.
Aber selbst angesichts dessen könnten Sie ein Stück JSL schreiben, das den Teilbereich innerhalb der Datentabelle in ein neues Format transponiert.Auf die JMP-Datentabelle kann als zeilenweise Matrix verwiesen werden, und angesichts dessen kann ein Programm geschrieben werden, das den Wert aus der Datentabelle ("1911-15 V1 500") [5,14] nimmt und diesen Wert in einen anderen einfügt gewünschte Zeilen-/Spaltenzelle.Dies kann in eine For()-Schleifenstruktur eingefügt werden, um den Code komplexer zu machen, aber der Punkt ist, dass meiner Meinung nach ein Stück JSL geschrieben werden muss, um die Transposition durchzuführen.