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 eine Liste 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 Listen 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?
Beachten Sie auch, dass ich in diesem Beispiel drei einzelne Listen habe. In meiner aktuellen Anwendung ist jede Liste in einer eigenen Liste enthalten, wobei List_A[1] List_B[1] usw. entspricht, aber ich iteriere durch die übergeordneten Listen.
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_list = dt:sex << get values;
height_list = dt:height << get values;
weight_list = 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?