RQube: Wie kann man einer Person mehrere Listen (= Zufallsreihenfolge) zuweisen? (von Patrick Britz)

RQube: Wie kann man einer Person mehrere Listen zuweisen? (von Patrick Britz)

Da RQube automatisch jeder Liste eine Nummer mit dem Inkrement von Eins gibt, hat normalerweise jede Versuchsperson eine eigene Liste, die ihr über ihre Versuchspersonennummer zugeordnet ist. Wenn man in einem Experiment mehrere Listen realisieren möchte, gibt es dafür verschiedene Möglichkeiten. Ich habe hier mal drei Möglichkeiten etwas ausführlicher beschrieben. Der Beispielcode ist für ein E-Prime InLine.

Erste Möglichkeit
Ich greife für jede Liste in einen eigenen Ordner (der Pfad wird pro Block/Durchgang zugewiesen). In jedem Ordner sind so viele Listen, wie es Teilnehmer geben wird (besser ein paar mehr). Dies ist auch die beste Lösung, wenn in einem Experiment verschiedene Listen gebraucht werden. („ListenOrdner“ ist der Name des Verzeichnisses in dem sich die Listen befinden -> anpassen).

Erster Block:
Liste1 = „ListenOrdner1\\“ & „Experimentname“ & c.GetAttrib(„Subject“) & „.qrnd“
Zweiter Block:
Liste2 = „ListenOrdner2\\“ & „Experimentname“ & c.GetAttrib(„Subject“) & „.qrnd“
Dritter Block:
Liste3 = „ListenOrdner3\\“ & „Experimentname“ & c.GetAttrib(„Subject“) & „.qrnd“

Zweite Möglichkeit
In einem Ordner werden Listen erstellt, und zwar in der Anzahl: Blöcke mal Versuchspersonen. Die richtige Liste ermittele ich bei jedem Block, indem ich die Subjektnummer mit der Anzahl der gewünschten Listen multipliziere (Konstant) und den „Block“ dazu addiere.

Für drei Blöcke sieht das aus wie folgt:
Erster Block:
VpNr = c.GetAttrib(„Subject“)
ListenNr = (((VpNr – 1) * 3) +1)
Liste1 = „ListenOrdner\\“ & „Experimentname“ & ListenNr & „.qrnd“
Zweiter Block:
VpNr = c.GetAttrib(„Subject“)
ListenNr = (((VpNr – 1) * 3) +2)
Liste1 = „ListenOrdner\\“ & „Experimentname“ & ListenNr & „.qrnd“
Dritter Block:
VpNr = c.GetAttrib(„Subject“)
ListenNr = (((VpNr – 1) * 3) +3)
Liste1 = „ListenOrdner\\“ & „Experimentname“ & ListenNr & „.qrnd“

 

Dritte, einfache aber unelegante Lösung
Wenn ich z.B. weniger als 100 Versuchspersonen habe, dann kann ich für den ersten Durchgang eine „1“ davor schreiben, für die zweite Liste eine „2“ usw. Danach muss man in E-Prime die Listen wie folgt aufgerufen (ich brauche bei 3 Durchgängen und 60 Personen 360 Listen):

Erster Block:
Liste1 = „ListenOrdner\\“ & „Experimentname“ & „1“ & c.GetAttrib(„Subject“) & „.qrnd“
Zweiter Block:
Liste2 = „ListenOrdner\\“ & „Experimentname“ & „2“ & c.GetAttrib(„Subject“) & „.qrnd“
Dritter Block:
Liste3 = „ListenOrdner\\“ & „Experimentname“ & „3“ & c.GetAttrib(„Subject“) & „.qrnd“

 

 

 

 

Nur der Vollständigkeit halber hier der restliche Code für das InLine (E-Prime)
‚ Liste laden
‚ Es werden für jede Vp drei Listen geladen
Dim Liste1 as String
Dim Liste2 as String
Dim Liste3 as String
Dim VpNr as Integer ‚ Variable braucht man nur bei der oben genannte „zweite Möglichkeit“

ListenNr as Integer ‚ ‚Variable braucht man ebenfalls nur bei der o.g. „zweiten Möglichkeit“

‚ Hier den angepassten Beispielcode einfügen…
‚ Wenn man im Programm 3 separate Trial Listen hat, dann kann man diese laden wie folgt (sonst immer die aktuelle Liste überschreiben [gleicher Code]):

triallist1.LoadMethod = ebLoadMethodFile
triallist1.Filename = liste1
triallist1.Load
triallist1.Reset
triallist2.LoadMethod = ebLoadMethodFile
triallist2.Filename = liste2
triallist2.Load
triallist2.Reset
triallist3.LoadMethod = ebLoadMethodFile
triallist3.Filename = liste2
triallist3.Load
triallist3.Reset

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s


%d Bloggern gefällt das: