Das größte Mädchen in der Big Class ist 66 Zoll groß, aber wer ist sie?Ich werde die Big-Class-Daten als Beispiel verwenden, aber mein Datensatz ist etwa eine Größenordnung größer und der Datensatz meines Kollegen ist sogar noch größer.
Es gibt verschiedene Möglichkeiten, die maximale Körpergröße von Mädchen gegenüber Jungen im Datensatz „Große Klasse“ herauszufinden, aber wie kann ich die Namensspalte beibehalten? Ich kann mit Tabulate eine Tabelle erstellen, aber ich kann keine Namensspalte hinzufügen, da dort nur alle Namen aufgelistet sind. Ich könnte ein Streudiagramm erstellen, den höchsten Wert heraussuchen und ihn aufschreiben, aber dafür ist unser tatsächlicher Datensatz zu groß. Ich kann es fast mit dem SQLQuery-Builder bekommen, wenn ich nur die Option „Gruppieren nach/Name“ deaktivieren könnte, aber so wie es ist, bekomme ich genau das, was ich von Tabulate bekommen habe.
Jede Methode (außer der Grafik!) wäre hilfreich!
Vielen Dank im Voraus.
DatentabelleBetreff: Das größte Mädchen in der großen Klasse ist 66 Zoll groß, aber wer ist sie?Wenn Sie nach allen Spalten für den Maximalwert pro Gruppe suchen (um alle verfügbaren Informationen zu erhalten), können Sie ihn in einer neuen Tabelle wie folgt erhalten:
Names Default To Here( 1 );
dt = Open( "$sample_data\big class.jmp" );
dt << select where ( :height == Col Max( :height, :sex))
dt1 = dt << Subset( Selected Rows( 1 ), Selected columns only( 0 ) );
dt << clear select();
Betreff: Das größte Mädchen in der großen Klasse ist 66 Zoll groß, aber wer ist sie?Es ist buchstäblich Jahre her, aber ich habe einen Weg gefunden, es ohne Code und entweder mit Big Class oder meinem tatsächlichen Datensatz zu machen. Ich verwende „Y nach Klicken und ziehen Sie im Quantildiagramm, um die Datenpunkte auszuwählen, die sich unabhängig von X im höchsten Quantil befinden. (Bei nur zwei Geschlechtern ist das trivial, aber die tatsächlichen Daten, mit denen ich gearbeitet habe, hatten etwa sieben diskrete Klicken Sie auf „Ausgewählt“ und wählen Sie „Datenansicht“. Es wird eine Datentabelle mit nur den höchsten Quantilwerten jedes X angezeigt, wobei alle Spalten erhalten bleiben. Nicht die eleganteste Lösung, aber ich habe sie bekommen!

Betreff: Das größte Mädchen in der großen Klasse ist 66 Zoll groß, aber wer ist sie?Hier ist eine Erweiterung des Codes für den Umgang mit Männern und Frauen
Names Default To Here( 1 );
dt = Open( "$sample_data\big class.jmp" );
Show(
:name[((dt << get rows where( :sex == "F" & :height == Col Max( If( :sex == "F", :height, . ) ) ))[1])],
:name[((dt << get rows where( :sex == "M" & :height == Col Max( If( :sex == "M", :height, . ) ) ))[1])]
);
Die Funktion Show() schreibt die Ergebnisse in das Protokoll
:name[(dt << get rows where(:sex == "F" & :height == Col Max(If(:sex == "F", :height, .))))[1]] = "JACLYN";
:name[(dt << get rows where(:sex == "M" & :height == Col Max(If(:sex == "M", :height, .))))[1]] = "LAWRENCE";
Die Formel gibt die Zeile zurück, in der sich die maximale Körpergröße für Männer oder Frauen befindet, sodass alle Spaltenwerte für diese Zeile für die Abfrage verfügbar sind.Diese Abfrage kann die gewünschte Anzeige oder Aktion anzeigen.Ich habe mich dafür entschieden, es einfach in das Protokoll zu schreiben, um zu veranschaulichen, dass die Abfrage zur richtigen Antwort führt.
Betreff: Das größte Mädchen in der großen Klasse ist 66 Zoll groß, aber wer ist sie?Danke für die schnelle Antwort!
Zwei Dinge:
Erstens muss ich nur die Datei öffnen. 
Zweitens: Was ist, wenn ich gleichzeitig den größten Jungen kennenlernen möchte? Wir haben mehrere „Klassen“ und müssen in jeder „größtes Mädchen“ und „größter Junge“ wissen.Betreff: Das größte Mädchen in der großen Klasse ist 66 Zoll groß, aber wer ist sie?Names Default To Here( 1 );
dt = Open( "$sample_data\big class.jmp" );
Show( :name[((dt << get rows where( :sex == "F" & :height == Col Max( If( :sex == "F", :height, . ) ) ))[1])] );