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

0 votes

Liebes Team!

Ich erstelle einen Fragebogen, bei welchem der Anfangs- und Endteil gleich ist. Direkt nach der Einführung sollen die Probanden anhand einer Randomisierung in drei Experimentalgruppen unterteilt werden, um jeweils 10 verschiedene Fragen zu beantworten.

Da jede Frage auf einer einzelnen Seite erscheinen soll, hätte ich diesen Code verwendet:

$zahl = value('RG01');  // Zufallzahl wurde von RG01 gezogen
if ($zahl == 1) {
  setPageOrder('q1','q2','mainStart-mainEnd','q3');
} elseif ($zahl == 2) {
  setPageOrder('q1','mainStart-mainEnd','q2','q3');
} else {
  setPageOrder('q2','q1','mainStart-mainEnd','q3');
}

Es ist außerdem wichtig, dass die Fragen rotieren. Dafür hätte ich diesen Code verwendet:

// Teil 1: Liste der Fragen erstellen und mischen
if (!isset($fragen)) {
  $fragen = array(  // Liste der Frage-Kennungen
    'AB01',
    'AB02',
    'CC03',
    'DE01',
    'DE02'
  );
  // Die Liste zufällig mischen
  shuffle($fragen);
  // Die Rotation für eine eventuelle Wiederholung der Seite zwischenspeichern
  registerVariable($fragen);
}

// Teil 2: Fragen anzeigen
$i = loopPage(count($fragen));
question($fragen[$i]);

Allerdings steht in Ihrer Beschreibung diese Information:

Wichtig: Der PHP-Code wird auf einer eigenen Seite unter „Fragebogen zusammenstellen“ eingefügt. Die Fragen, die rotiert werden sollen, sind im Fragen-Katalog angelegt, sie werden aber – anders als andere Fragen – nicht beim Fragebogen-Zusammenstellen eingefügt (sie werden nicht in die Fragebogen-Seiten gezogen). Auf der Seite nach dem PHP-Code geht es mit den unrotierten Bestandteilen des Fragebogens weiter.

Leider komme ich selbst nicht auf eine Lösung, wie man die Randomisierung und die Rotation für die gleichen Fragen verbinden kann.

Ich hoffe, dass Sie mir weiterhelfen können!

Vielen Dank im Voraus!

Mit freundlichen Grüßen

in SoSci Survey (dt.) by s149141 (160 points)
edited by SoSci Survey

1 Answer

0 votes

Leider komme ich selbst nicht auf eine Lösung, wie man die Randomisierung und die Rotation für die gleichen Fragen verbinden kann.

Sie können die Funktionen loopPage() und setPageOrder() nicht kombinieren. Sie heben sich gegenseitig auf.

Eine mögliche Lösung besteht darin, die 10 Fragen auf einzelne Seiten zu setzen. Dann würden Sie Sie erstmal ein Array mit den Seiten erstellen und mischen (Ihr zweiter Code) und dieses Array dann direkt in setPageOrder() einsetzen.

Normalerweise bin ich kein Fan davon, die Seiten "manuell" mit den Fragen zu belegen, aber in diesem Fall wäre es die einfachste Lösung.

Wenn Sie es eleganter aber anspruchsvoller haben möchten, müssten Sie ähnlich vorgehen, aber dieselbe Seite 10-mal in setPageOrder() einfügen und dann mittels loopIndex() ermitteln, wo in der Wiederholung Sie gerade sind - statt loopPage() - der Rest würde gleich bleiben.

by SoSci Survey (140k points)
Wiederholung der Fragen aufgrund Rotation
...