0 votes
in SoSci Survey (dt.) by s275849 (130 points)

Mein Ziel ist es, dass jeder Studienteilnehmende drei unterschiedliche Vignetten/Szenarien gezeigt bekommt. Pro Durchgang soll die Ziehung der Zettel bzw. Szenarien random erfolgen. In der zweiten Ziehung, sollen die Zettel, welche in der ersten Runde gezogen wurden, nicht erneut gezeigt werden. Für die dritte Ziehung sollen die Zettel die in Runde eins und zwei gezogen wurden, nicht erneut angezeigt werden.

Für die erste Runde ergibt sich daher der erste PHP-Code:
$zahl = value('ZG01');

if ($zahl == 1) {
text('V101');
} elseif ($zahl == 2) {
text('V102');
} elseif ($zahl == 3) {
text('V103');
} elseif ($zahl == 4) {
text('V104');
} elseif ($zahl == 5) {
text('V105');
}

Für die zweite Runde dieser:
// Speichere die Vignette, die auf Seite 4 angezeigt wurde
$zahl_von_seite4 = value('ZG01');

// Speichere die Vignette in der internen Variable IV01_01
put('IV01_01', $zahl_von_seite4);

// Zeige die zufällig ausgewählte Vignette auf Seite 5 an
$zahl_fuer_seite5 = value('ZG02');
do {
if ($zahl_fuer_seite5 == 1) {
text('V201');
} elseif ($zahl_fuer_seite5 == 2) {
text('V202');
} elseif ($zahl_fuer_seite5 == 3) {
text('V203');
} elseif ($zahl_fuer_seite5 == 4) {
text('V204');
} elseif ($zahl_fuer_seite5 == 5) {
text('V205');
}
} while ($zahl_fuer_seite5 == $zahl_von_seite4);

Für die dritte Runder, dieser:
// Speichere die Vignetten, die auf Seite 4 und Seite 5 angezeigt wurden
$zahl_von_seite4 = value('ZG01');
$zahl_von_seite5 = value('ZG02');

// Speichere die Vignetten in internen Variablen IV01_01 und IV01_02
put('IV02_01', $zahl_von_seite4);
put('IV03_01', $zahl_von_seite5);

// Zeige die zufällig ausgewählte Vignette auf Seite 6 an
$zahl_fuer_seite6 = value('ZG03');
do {
if ($zahl_fuer_seite6 == 1) {
text('V301');
} elseif ($zahl_fuer_seite6 == 2) {
text('V302');
} elseif ($zahl_fuer_seite6 == 3) {
text('V303');
} elseif ($zahl_fuer_seite6 == 4) {
text('V304');
} elseif ($zahl_fuer_seite6 == 5) {
text('V305');
}
} while ($zahl_fuer_seite6 == $zahl_von_seite4 || $zahl_fuer_seite6 == $zahl_von_seite5);

Leider funktionieren die PHP-Codes nur bei manchen Testdurchlaufen und bei anderen nicht. Meine Frage ist daher: Wie kann ich im zweiten und dritten Durchlauf die Zettel, welche in den vorherigen Ziehungen (z. B. bei der ersten UND zweiten Ziehung) bereits gezogen wurden, aus der Urne entfernen bzw. dafür sorgen, dass in diesem Fall neu gezogen wird?

Die Fehlermeldung die mir angezeigt wird, ist die folgende:

1 Answer

0 votes
by SoSci Survey (327k points)

Wie kann ich im zweiten und dritten Durchlauf die Zettel, welche in den vorherigen Ziehungen (z. B. bei der ersten UND zweiten Ziehung) bereits gezogen wurden, aus der Urne entfernen

Sie verwenden einen Zufallsgenerator (keine Urne), korrekt? Stellen Sie im Zufallsgenerator ein, dass er nicht einen, sondern drei Codes pro Interview ziehen soll. Den ersten verwenden sie für die erste Runde, dann den zweiten, und zuletzt den dritten gezogenen Code.

by s275849 (130 points)
Vielen Dank für Ihre Antwort! Wo genau finde ich diese Einstellung?
by SoSci Survey (327k points)
Im Zufallsgenerator (im Fragenkatalog) unter "Ziehung" -> "Anzahl Zettel pro Interview".

Beachten Sie bitte, dass Sie dann drei Variablen haben und nicht mehr nur eine.

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

...