0 votes
in SoSci Survey (dt.) by s101002 (260 points)
edited by SoSci Survey

Hallo,

ich habe einen Fragebogen, in dem über 36 Fragebogenseiten 36 verschiedene Situationen beschrieben werden, zu denen Probanden jeweils Fragen beantworten sollen. Die Seiten lasse ich über folgenden Code randomisiert darstellen:

if (!isset($set_Situation_Order)) {
  $set_Situation_Order = array('Sit01','Sit02','Sit03','Sit04','Sit05', [...] 'Sit36');
  shuffle($set_Situation_Order);
  $set_Situation_Order[] = 'End1';
  registerVariable('set_Situation_Order');
}
setPageOrder($set_Situation_Order);

Die jeweiligen Situationen sind auf den Seiten selbst durchnummeriert (Situation 01, Situation 02,... ), was durch die Randomisierung ziemlich verwirrend wirkt (Probanden sehen also z.B. Situation 04 --> Situation 15 --> Situation 02 --> usw.). Leider ist es wichtig, das die Situationen fortlaufende Nummern haben.
Ist es möglich, irgendwie einen Counter von 1 bis 36 mit jedem "weiter"-Klick innerhalb dieser randomisierten Fragebogenseiten laufen zu lassen, sodass die Situationen (ungeachtet ihrer eigentlichen Position im Fragebogen) in der Überschift für jeden Probanden als Situation 01, Situation 02, Situation 03 usw. dargestellt werden können?

quasi so:
eigentlicher Programmablauf (randomisiert): Situation 07 --> Situation 04 --> Situation 15 ...
was Probanden sehen (scheinbar forlaufend): Situation 01 --> Situation 02 --> Situation 03 ...

Beste Grüße
ST

1 Answer

0 votes
by SoSci Survey (327k points)
selected by s101002
 
Best answer

Meine Empfehlung wäre, dass Sie hier ein wenig anders vorgehen - und zwar dass Sie eine Seite mittel loopPage() 36-mal anzeigen.

Damit ich dazu konkreter werden kann, müssten Sie aber bitte schildern, auf auf den 36 Seiten konkret an Inhalt steht? Ein text und eine Frage vermute ich? Welche Kennungen haben diese?

by s101002 (260 points)
Jede der 36 Fragebogenseiten beschreibt eine bestimmte Situation, zu der Probanden jeweils anhand einer Auswahl-Frage eine für sie angemessene Handlungsweise auswählen sollen.

Situation 01 umfasst entsprechend die Elemente Sit01_Text und Sit01_Item auf einer gemeinsamen Fragebogenseite.

Der Ablauf ist also in etwa so:


S. 1: Urne für Randomisierung ->  S. 2: Situation 01 [Sit01_Text & Sit01_Item] -> S. 3: Situation 02 [Sit02_Text & Sit02_Item] -> ...

'Sit01' , 'Sit02' , 'Sit03' usw. im Code oben sind demensprechend die Fragebogenseiten, auf denen Frage & Item zur jeweiligen Situation stehen.
by SoSci Survey (327k points)
Okay, dann legen Sie zunächst ein Array an, welches die Kennungen der Texte und Fragen enthält, z.B.

$situations = array(
  1 => array('Sit01_Text', 'Sit01_Item'),
  2 => array('Sit02_Text', 'Sit02_Item'),
  // u.s.w.
);

Dann erstellen Sie eine gemischte Liste der IDs und mischen diese.

if (!isset($order)) {
  $order = array_keys($situations);
  shuffle($order);
  registerVariable($order);
}

Und dann zeigen Sie eines nach dem anderen an:

$i = loopPage();
$j = $order[$i];
text($situations[$j][0]);
question($situations[$j][1]);

Nachdem Sie in $i nun eine fortlaufende Nummer haben, können Sie damit auch problemlos einen Platzhalter für die Setennummer befüllen. Und außerdem ist eine Seite übersichtlicher als 36 Seiten :)
by s101002 (260 points)
Eine wirklich elegante Lösung. Vielen Dank!!
by s101002 (260 points)
reshown by s101002
Leider habe ich es doch noch nicht ganz

Ich habe es übernommen und ein wenig angepasst (da es nach den Situationen nochmal einen ähnlichen Teil gibt).


PHP-Code
$situations = array(
  1 => array('ST01', 'SI01'),
  2 => array('ST02', 'SI02'),
  3 => array('ST03', 'SI03'),
  4 => array('ST04', 'SI04'),
  5 => array('ST05', 'SI05'),
  6 => array('ST06', 'SI06'),
  7 => array('ST07', 'SI07'),
  8 => array('ST08', 'SI08'),
  9 => array('ST09', 'SI09'),
  10 => array('ST10', 'SI10'),
);

if (!isset($order_situations)) {
  $order_situations = array_keys($situations);
  shuffle($order_situations);
  registerVariable($order_situations);
}

$i = loopPage();
$j = $order_situations[$i];
text($situations[$j][0]);
question($situations[$j][1]);

replace('%Situation_Nummer%', '$i');


Es funktioniert insofern, dass eine zufällige Kombination Text/Frage erscheint. Nach einer einzigen kommen jedoch nicht die weiteren 9 (zu Testzwecken verkürzt versucht), sondern die nächste Fragebogenseite.

Was habe ich verbockt?
by s101002 (260 points)
edited by s101002
Ich hatte lediglich die Anzahl für loopPage() vergessen, die randomisierte Abfolge läuft also schonmal =) ... Vielen Dank an der Stelle nochmal!

Mein Versuch mit dem Platzhalter war leider erstmal nichts...

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

...