Filtern Sie Tabellenspalten basierend auf einer ListeHallo zusammen,
Ich verwende JMP Pro schon seit einiger Zeit, obwohl ich noch nie Skripte damit ausgeführt habe. Ich beschäftige mich auch mit JMP Genomics, da ich eine ganze Reihe von „Omics“-Analysen auf verschiedenen Plattformen verwende. Im Moment befinde ich mich in der Welt von JMP Pro und versuche herauszufinden, wie man Datentabellen filtert.
Eine Sache, die ich nicht herausfinden kann, ist, wie man eine Tabelle basierend auf einer Liste (die Spaltennamen enthält) oder auf den Ergebnissen eines Tests filtert (oder eine neue Tabelle erstellt). Ich habe zum Beispiel eine breite Tabelle (Tabelle 1) mit 600 Zeilen x 10.000 Spalten. Ich habe eine andere Tabelle (Tabelle 2) mit einer einzelnen Spalte mit Spalten-IDs aus Tabelle 1 (200 Spaltennamen).
Gibt es eine Möglichkeit:
- Spaltengruppen in Tabelle 1 basierend auf den Spalten-IDs in Tabelle 2 erstellen?
- Alternativ eine Teilmenge von Tabelle 1 erstellen, basierend auf den Spalten-IDs in Tabelle 2?
Ich denke, dass beides bei meinem Arbeitsablauf hilfreich sein wird, aber ich konnte in den Foren hier oder im Hilfeleitfaden keine Lösung finden.
Dank im Voraus!
Jonathan
Betreff: Tabellenspalten basierend auf einer Liste filternGroßartig! Vielen Dank, dass Sie mich dabei begleitet haben. Sehr hilfreich!Betreff: Tabellenspalten basierend auf einer Liste filternAufgrund meiner Tests glaube ich, dass die Liste erstellt wird, aber sie geht in der Anzahl der Spalten verloren, die Sie haben.Deshalb habe ich eine einfache Änderung am Code vorgenommen, indem ich einen Namen für die Liste hinzugefügt habe und dann angewiesen habe, die Liste an den Anfang der Spaltenliste zu verschieben.
names default to here(1);
dt = Current Data Table();
dtSingle = open ("TCAlist.jmp");
//longList=dt<<GET column="" names=""></GET>Betreff: Tabellenspalten basierend auf einer Liste filternBetreff: Tabellenspalten basierend auf einer Liste filternWenn Sie die beiden Datentabellen anhängen können, werde ich mir das Problem ansehen
Betreff: Tabellenspalten basierend auf einer Liste filternEs werden also keine Meldungen/Fehler angezeigt. Die Spalten sind korrekt geschrieben und es gibt kein Problem mit der Groß-/Kleinschreibung. Wenn ich dies ausführe, funktioniert der zweite Teil des Skripts ... es erstellt eine Teilmenge mit den drei in „TCAlist“ aufgeführten Elementen. Das Einzige, was nicht passiert, ist die Erstellung der Gruppe auf dem Haupttisch. Stimmt etwas mit den ersten paar Zeilen zu meinen Tabellen nicht? Stört die aktuelle Datentabelle dies?Betreff: Tabellenspalten basierend auf einer Liste filternWelche Meldungen sind im Protokoll? Sind alle Spalten richtig geschrieben? Gibt es ein Problem mit der Groß-/Kleinschreibung???Betreff: Tabellenspalten basierend auf einer Liste filternDanke Jim!
Ich konnte das Skript „Teilmenge erstellen“ für meine beiden Datentabellen zum Laufen bringen, aber das Skript „Gruppe erstellen“ für dieselben beiden Tabellen scheint die Gruppe in der Haupttabelle nicht zu erstellen. Im Beispieldatenbeispiel funktioniert es jedoch einwandfrei. Wahrscheinlich fehlt etwas Offensichtliches
Vielen Dank für Ihre Hilfe!
names default to here(1);
dt = Current Data Table();
dtSingle = Open ("TCAlist.jmp");
// Create a group
theList = dtSingle:Cols << get values;
dt << group columns(theList);
// Create a subset
// Select columns in data table dt, that are in dtSingle
try( dt << Select Columns( dtSingle:Cols << get values ));
dtSubset = dt << subset( selected rows(0), selected columns(1) );Betreff: Tabellenspalten basierend auf einer Liste filternHier ist ein einfaches Skript, das Ihnen beide von Ihnen angegebenen Anforderungen anzeigt
names default to here(1);
dt=open("$SAMPLE_DATA/semiconductor capability.jmp");
dtSingle = New Table("Single Column", new column("Cols", character,values({"PNP2","NPN3","INM1"})));
// Create a group
theList = dtSingle:Cols << get values;
dt << group columns( theList);
// Create a subset
// Select columns in data table dt, that are in dtSingle
try( dt << Select Columns( dtSingle:Cols << get values ));
dtSubset = dt << subset( selected rows(0), selected columns(1) );