Sortieren Sie eine Spalte nach VariableHallo,
Wie würde ich vorgehen, um eine neue Spalte zu erstellen, die die sortierten Werte einer Spalte nach einer anderen Variablen enthält?
Ein Beispiel zur hoffentlich besseren Verdeutlichung: Wenn ich eine Tabelle mit zwei Zeilen hätte: Name und Alter, wie würde ich dann eine dritte Zeile erstellen, in der die Namen vom ältesten zum jüngsten sortiert angezeigt werden?
Danke!
Betreff: Eine Spalte nach Variable sortierenProbieren Sie es mal aus:
names default to here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column(
"Sorted names by age",
Expression,
"None",
Formula( :Name[ Rank( :age << Get Values )][ Row() ] )
);
dt << New Column(
"Sorted names by height",
Expression,
"None",
Formula( :Name[ Rank( :height << Get Values )][ Row() ] )
);
Beachten Sie, dass es bei großen Tabellen langsam sein kann.
Bearbeitet, um ein relevanteres Beispiel zu zeigen.
Betreff: Eine Spalte nach Variable sortierenWenn Ihre Daten wie in Excel in Zeilen statt in Spalten vorliegen, müssen Sie die Tabelle vor der Analyse transponieren. In Ihrem Beispiel haben Sie nach der Transponierung zwei Spalten: Name und Alter. An dieser Stelle geht es lediglich darum, die Tabelle nach der Altersspalte zu sortieren, wie von anderen Benutzern vorgeschlagen.
Betreff: Eine Spalte nach Variable sortierenWas Sie gefragt haben, lässt sich nicht einfach in einer Formel umsetzen (die ich mir sowieso ausdenken kann). Dies geht relativ einfach interaktiv mit Tabellen->Sortieren um die Tabelle in eine neue Tabelle zu sortieren und dann die gewünschte Spalte zu kopieren und wieder in die ursprüngliche Tabelle einzufügen.
Die Frage weckt jedoch ein gewisses Interesse daran, was Sie wirklich tun möchten.
Im Allgemeinen stellt eine Zeile einer Datentabelle eine Sammlung von Werten für eine einzelne Entität dar – in Ihrem einfachen Beispiel einen einzelnen Schüler – und jede Zeile steht in keiner Beziehung zu anderen Zeilen. Ich bin mir nicht sicher, wie diese neue Spalte – in Ihrem Beispiel „Namen“ – in einer Analyse nützlich wäre, da die neue Spalte nur im Kontext ihrer Reihenfolge sinnvoll ist.
Können Sie etwas näher erläutern, wie Sie diese neue Kolumne verwenden würden?
Ein Beispiel zur hoffentlich besseren Verdeutlichung: Wenn ich eine Tabelle mit zwei Zeilen hätte: Name und Alter, wie würde ich dann eine dritte Zeile erstellen, in der die Namen vom ältesten zum jüngsten sortiert angezeigt werden?
PS: Sie scheinen in Ihrem Beispiel Zeilen und Spalten verwechselt zu haben. Ich gehe davon aus, dass du es wirklich gemeint hast eine Tabelle mit zwei Spalten und dass Sie eine dritte Spalte erstellen wollten, wie es in Ihrer ursprünglichen Frage heißt. Wenn ich mich irre und Sie wirklich Zeilen gemeint haben, lassen Sie es uns bitte wissen.