Erstellen einer Teilmenge von Daten basierend auf einer Liste von SpaltenHallo,
Ich habe eine große Datendatei mit vielen Datenspalten. Ich möchte eine automatisierte Möglichkeit erstellen, die Rohdaten basierend auf einer Liste von Spalten zu unterteilen.
Wenn diese Tabelle meine Rohdaten sind
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| # | # | # | # | # | # | # | # | # | # |
| # | # | # | # | # | # | # | # | # | # |
und meine Liste der Spalten, die ich unterteilen möchte, könnte [1,4,6,9] sein.
Ich möchte eine neue Tabelle erstellen, die so aussieht
Der Grund dafür, dass ich die zu verwendenden Spalten nicht einfach fest codieren kann, ist, dass die Liste von Zeit zu Zeit aktualisiert wird, sodass ich mir eine freihändigere Möglichkeit wünsche, damit umzugehen.
Wenn ich weitere Informationen bereitstellen muss, lassen Sie es mich wissen.
Danke!
Betreff: Erstellen einer Teilmenge von Daten basierend auf einer Liste von Spalteneval(evalexpr(
SubTable3[i] = Tables[i] << subset( selected rows(1), columns(
As Column(expr(MT_Col_Names[1])), As Column(expr(MT_Col_Names[2])) ), Invisible);
));
Betreff: Erstellen einer Teilmenge von Daten basierend auf einer Liste von SpaltenVielleicht versuchen
eval(evalexpr((
SubTable3[i] = Tables[i] << subset( selected rows(1), columns(
As Column(expr(MT_Col_Names[1])), As Column(expr(MT_Col_Names[2])) ), Invisible);
));
))
Betreff: Erstellen einer Teilmenge von Daten basierend auf einer Liste von SpaltenIch glaube nicht, dass es für Sie notwendig ist, alle Elemente, die Sie in MT_Col_Names haben, aufzuzählen oder diese in Column() einzuschließen.Welche Art von Daten sind in „MT_Col_Names“ enthalten?
Hier ist ein funktionierendes Beispiel mit einer Liste von Zeichenfolgen, die die Namen der Spalten darstellen, die ich behalten möchte:
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Select Rows({1,2,3});
sub_cols = {"name", "age", "sex"}; //same role as MT_Col_Names
dt2 = dt << Subset(selected rows(1), columns(sub_cols));Betreff: Erstellen einer Teilmenge von Daten basierend auf einer Liste von SpaltenHallo,
Das funktioniert bei mir nicht, wenn ich Folgendes verwende:
SubTable3[i] = Tables[i] << subset( selected rows(1), columns(Column(MT_Col_Names[1]), Column(MT_Col_Names[2]), Column(MT_Col_Names[3]), Column(MT_Col_Names[4]), Column(MT_Col_Names[5]), Column(MT_Col_Names[6])), Invisible);
Der Fehler ist:

Und wenn ich mich ändere ' Säulen' Zu „Als Spalten“ , Es funktioniert (kein Fehler), aber alle Spalten werden angezeigt ...
Vielen Dank für jede Hilfe,
Nir
Betreff: Erstellen einer Teilmenge von Daten basierend auf einer Liste von SpaltenDas ist wahrscheinlich wirklich einfach, aber ich bin verwirrt über Ihre Liste.Sie sagen, Sie können die zu verwendenden Spalten nicht fest codieren, da sich dies ändern wird. Aber muss nicht letztendlich jemand die zu verwendenden Spalten aufzählen, wenn die Liste aktualisiert wird?Woher kommt sonst diese Liste? Wenn Sie ganz oben im Skript eine Variable haben, die alle zu verwendenden Spalten auflistet, ist das dann ausreichend einfach zu verwalten?Wenn ja, finden Sie hier ein einfaches Skript, das das erledigt:
//list of columns
subset_cols = {:Name("1"), :Name("4"), :Name("6"), :Name("9")};
dt = Current Data Table();
dt << Subset( All rows, columns( subset_cols ) )