Hallo,
Dies scheint eine recht einfache Frage zu sein, aber ich verwende wahrscheinlich die falschen Suchbegriffe, weil ich keine gute Antwort gefunden habe.
Ich habe ein Skript, in dem ich zunächst nur ein Array von Zeichenfolgen (Dateipfaden) erstellt habe und diese ohne Probleme in sequentieller Reihenfolge verwenden konnte. Da der Umfang erweitert wurde, muss ich nun eine Filterung basierend auf Kriterien in zwei anderen Arrays derselben Länge durchführen, die gleichzeitig erstellt wurden. Mein Gehirn arbeitet immer noch mit Datentabellen, und in einem Datentabellenformat (oder SQL-Format) wäre dies eine einfache Sache. Das Erstellen einer versteckten Datentabelle könnte eine praktikable Option sein, aber ich möchte die Arbeit mit verschiedenen Datenstrukturen besser verstehen und die Änderung meines Codes zur Verwendung eines anderen dt scheint chaotisch zu sein.
Dies scheint eine Anwendung für assoziative Arrays zu sein, aber ich habe Schwierigkeiten, das Array korrekt zu erstellen, und der Skriptleitfaden und der Skriptindex waren nicht aufschlussreich. Kann mir jemand den richtigen Weg weisen oder eine Datenstruktur vorschlagen, die für das, was ich jetzt versuche, sinnvoller wäre? Oder wäre ein versteckter Tisch tatsächlich die beste Option?
Danke schön!
Names Default To Here( 1 );
//example data is in dt, my data isn't
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
//this is more or less the structure of the data that I have
sex_array = dt:sex << get values;
height_array = dt:height << get values;
weight_array = dt:weight << get values;
//this is what I would do if I had the data in a dt
output = dt:weight[dt << get rows where(and(:age == 13, :sex == "M"))];
show(output);
//how to do this with the data in a structure with no dt? what structure would be appropriate?