0 votes
in SoSci Survey (dt.) by s093392 (140 points)
closed by SoSci Survey

Guten Tag,

ich habe ein Design mit 120 Blöcken von je 2 Seiten (die Fragen und Bilder enthalten), wobei mittels Filterfragen immer nur mindestens die Hälfte der Blöcke präsentiert wird (je nachdem, welche Stimuli der Teilnehmer vorher ausgewählt hat). Dabei soll die Reihenfolge der Seitenblöcke randomisiert werden und die Reihenfolge auch gespeichert werden.

Das Design ähnelt ein wenig dem in der Frage von s085346 vom 15.04., nur dass es sich eben um Seitenblöcke handelt.

Nun soll außerdem nach 60 Blöcken zur letzten Seite gesprungen werden, also die Befragung beendet werden, auch wenn der Teilnehmer am Anfang mehr als 60 Stimuli ausgewählt hat.

Bisher hatte ich das so gelöst, dass ich tatsächlich 120 Seitenblöcke erstellt hätte, deren Reihenfolge mittels setPageOrder am Anfang randomisiert wird. Dann würde in jedem Block durch die Filterfrage entschieden, ob dieser präsentiert wird oder nicht. AUßerdem zählt ein Trialcounter, ob schon 60 Trials präsentiert wurden und springt zur letzten Seite, wenn dies der Fall ist.
Das funkioniert auch alles.
Nun hatte ich mich nur gefragt, ob das ganze nicht einfacher mit einem FOR-loop zu lösen wäre, dass die Seite mit unterschiedlichen Inhalten loopt, sodass ich nicht 120 Seiten-Blöcke erstellen brauche. Da ic allerdings mit FOR-loops in Sosicsurvey noch keine Erfahrung habe, könnten sie mir einen Tipp geben, wie ich das am besten mache?

Danke schonmal,
Viele Grüße!

closed with the note: Es liegen keine neuen Informationen zur Frage vor.
by SoSci Survey (298k points)
> Nun hatte ich mich nur gefragt, ob das ganze nicht einfacher mit einem FOR-loop zu lösen wäre

Ja, ich denke schon, dass Sie sich damit Arbeit sparen können. Aber für eine akkurate Antwort müssten Sie bitte kurz mitteilen, was man so so einem Seiten-Duo sieht? Jeweils einen Text und eine Frage?! Denn was immer man dort sieht, muss man erstmal als PHP-Code ausdrücken.

Außerdem müssten Sie beschreiben, wie das "auswählen von Stimuli" erfolgt und mit den Seiten zusammenhängt.

Abstrakt erklärt läuft es darauf hinaus, dass man in einem Array die Inhalte definiert und dann mit loopToPage() 2 Seiten so oft wiederholt, wie man Wiederholungen haben möchte.
by s093392 (140 points)
Hallo,
auf der 1. Seite sieht man jeweils ein Bild und eine Frage, auf der zweiten ein Bild, das mit einem Timer für 2 Sekunden präsentiert wird. Dabei wird per Zufallsgenerator entschieden, welches von zwei Bildern präsentiert wird.

Die Versuchspersonen wählen vorher in Mehrfachauswahlfragen jeweils mindestens 5 von 10 Stimuli aus (und es gibt 12 dieser Mehrfachauswahlfragen, sodass man insgesamt auf mindestens 60 von 120 Stimuli kommt). Es gibt sozusagen für jeden Stimulus ein zugeordnetes Item, mit den möglichen Werten 1 oder 2 für "ausgewählt" oder "nicht ausgewählt", dessen Wert dann als Filterbedingung genutzt wird. Es sollen dann auf der 1. Seite der Blöcke jeweils einer der ausgewählten Stimuli und eine dazugehörige Frage präsentiert werden, auf der nächsten dann das randomisierte (per Zufallsgenerator ausgewählte Bild) für 2 Sekunden. Dabei soll allerdings auch gespeichert werden, welches Bild der Zufallsgenerator nach welchem Stimulus auswählt. Ich hatte das bisher so gemacht, das für jede Seite ein bestimmtes Item (das zu einem bestimmten Stimulus gehört) gecheckt wird und wenn das Item vom Proband ausgewählt wurde, wurden Bild und Frage präsentiert, wenn das Item nicht ausgewählt wurde, wurde nichts angezeigt und die Seite demnach übersprungen.

Die Präsentation der Bilder und Fragen als PHP-Code ist bereits implementiert.

Ich würde also ein Array mit den Bildern, den Fragen und den Werten des Zufallsgenerators erstellen, die Inhalte shuffeln, um eine randomisierte Reihenfolge zu erhalten, und dann über die Zellen des Arrays loopen (mit loopToPage?). Und dann einfach 60 Wiederholungen angeben?

Vielen Dank für Ihre Hilfe
by SoSci Survey (298k points)
> Die Präsentation der Bilder und Fragen als PHP-Code ist bereits implementiert.

Wenn Sie ein Beispiel daraus posten, wird meine Antwort (noch) hilfreicher ausfallen :)

Hier schonmal ein Tipp, wie Ihr Array aussehen könnte:

$stim = array(
  1 => array('bild01.jpg', 'AB01', 'BB01', 'BC01'),
  2 => array('bild02.jpg', 'AB02', 'BB02', 'BC02'),
  // u.s.w.
);

Die ersten beiden Einträge pro Zeile wären Bild und Frage für Seite 1, die anderen beiden die zufällig zu wählenden Bilder.

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...