Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
de:create:randomization_php [23.01.2021 18:14] – [Schritt 2: Präsentation des Stimulus] sophia.schauer | de:create:randomization_php [24.01.2021 14:53] – sophia.schauer | ||
---|---|---|---|
Zeile 40: | Zeile 40: | ||
{{: | {{: | ||
- | |||
- | Zur Einbindung eines Stimulus oder Treatments via [[de: | ||
**Hinweis: | **Hinweis: | ||
- | **Hinweis: | + | Zur Einbindung eines Stimulus oder Treatments |
- | + | ||
- | + | ||
- | ====Stimulus: | + | |
- | Wenn der Stimulus ein Text ist, muss bei der Einbindung | + | |
- | + | ||
- | Dafür legt man als erstes im **Fragenkatalog** als **Text** die Stimulus-Texte an. | + | |
- | + | ||
- | Der folgende PHP-Code würde in der Gruppe „Positive Fallbeispiele“ (Zufallsgeneratorwert RG01=2) | + | |
- | + | ||
- | <code php> | + | |
- | if (value(' | + | |
- | text(' | + | |
- | } elseif (value(' | + | |
- | text(' | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | ====Stimulus: | + | |
- | + | ||
- | Bilder, Videos und Audiodateien können ebenso wie Texte mittels [[de: | + | |
- | + | ||
- | Wie die PHP-Codes zu den einzelnen Dateitypen aussehen können, wird im folgenden genauer beschrieben. Allgemein sehen die PHP-Codes aber gleich aus, wie bei den Texten, denn die Dateien werden als HTML-Texte angelegt und diese werden dann angezeigt. | + | |
- | + | ||
- | === Stimulus: Bild=== | + | |
- | + | ||
- | **Tipp:** Diese Möglichkeit bietet durch den HTML-Text viel Raum zur Gestaltung und Bearbeitung für komplexere Darstellungen (siehe unten: Beispiel umfangreiche HTML-Codes). Für die einfachere Einbindung von Bildern bietet sich die Möglichkeit, | + | |
- | + | ||
- | ===Beispiel: | + | |
- | Wenn es in Ihrem Beispiel 2 Bilder zum Randomisieren gibt, könnte der dazugehörige PHP-Code zur Einbindung mittels HTML-Text folgendermaßen aussehen: | + | |
- | + | ||
- | <code php> | + | |
- | if (value(' | + | |
- | text(' | + | |
- | //Der Text ist der HTML-Text des Bildes mit der Kennung BT01 | + | |
- | } elseif (value(' | + | |
- | text(' | + | |
- | //Der Text ist der HTML-Text des Bildes mit der Kennung BT02 | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | ===Beispiel: | + | |
- | + | ||
- | Vor allem in Experimenten muss man die Teilnehmer häufig zufällig auf Versuchs- | + | |
- | + | ||
- | Das folgende Beispiel zeigt, wie man mittels [[php|PHP-Code]] eines von 4 Bildern randomisiert. Voraussetzung ist, dass -- wie oben beschrieben -- eine Zufallszahl zwischen 1 und 4 gezogen und in einer Variable gespeichert wird. Außerdem müssen die 4 Bilder vorab unter **Bilder und Mediendateien** in das Befragungsprojekt hochgeladen werden. Das Beispiel zeigt zufällig die Grafik " | + | |
- | + | ||
- | <code php> | + | |
- | $zahl = value(' | + | |
- | + | ||
- | // Grafik in Abhängigkeit von der Zahl anzeigen | + | |
- | // (dafür wird HTML-Code verwendet) | + | |
- | if ($zahl == 1) { | + | |
- | html('< | + | |
- | } elseif ($zahl == 2) { | + | |
- | html('< | + | |
- | } elseif ($zahl == 3) { | + | |
- | html('< | + | |
- | } elseif ($zahl == 4) { | + | |
- | html('< | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | Anstatt mit '' | + | |
- | + | ||
- | + | ||
- | ===Stimulus: | + | |
- | Auch Videos können mittels einer text()-Funktion eingebettet werden. Dazu benötigt man den selben Code, wie bei den Texten und bindet das Video via HTML-Text ein. Die Videos müssen bereits in **Bilder und Mediendateien** abgespeichert sein und in einem ([[de: | + | |
- | + | ||
- | Ein Code, bei dem einer Kontrollgruppe kein Stimulus angezeigt wird und bei den beiden anderen Gruppen zwei Videos randomisiert werden, könnte folgendermaßen aussehen: | + | |
- | + | ||
- | <code php> | + | |
- | if (value(' | + | |
- | text(' | + | |
- | //HTML-Text des Videos mit der Kennung VT01 | + | |
- | } elseif (value(' | + | |
- | text(' | + | |
- | //HTML-Text des Videos mit der Kennung VT02 | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | ===Stimulus: | + | |
- | Auch Audios können wiederum mittels einer text()-Funktion eingebettet werden. Dazu benötigt man den selben Code, wie bei den Texten und bindet das Audio via [[de: | + | |
- | + | ||
- | Der PHP-Code zur Einbindung der Audiodateien auf der Fragenbogenseite könnte wie folgt aussehen, wenn es 3 Gruppen gibt und nur 2 Gruppen ein Audio vorgespielt werden soll (eine Kontrollgruppe ohne Audio). | + | |
- | + | ||
- | <code php> | + | |
- | if (value(' | + | |
- | text(' | + | |
- | //HTML-Text des Audios mit der Kennung AT01 | + | |
- | } elseif (value(' | + | |
- | text(' | + | |
- | //HTML-Text des Audios mit der Kennung AT02 | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | + | ||
- | ==== Randomisierung von Bildern mittels Platzhalter==== | + | |
- | + | ||
- | Der folgende PHP-Code kann ebenso für die Einbindung von Bildern verwendet werden, arbeitet aber nicht mit kompletten HTML-Code-Stückchen, | + | |
- | + | ||
- | <code php> | + | |
- | $code = value(' | + | |
- | + | ||
- | // Grafikdatei in Abhängigkeit von der Zufallszahl in einen Platzhalter schreiben | + | |
- | if ($code == 1) { | + | |
- | replace(' | + | |
- | } elseif ($code == 2) { | + | |
- | replace(' | + | |
- | } elseif ($code == 3) { | + | |
- | replace(' | + | |
- | } elseif ($code == 4) { | + | |
- | replace(' | + | |
- | } | + | |
- | // Den HTML-Code kann man direkt einbinden oder (hier nicht gezeigt) als Textbaustein | + | |
- | html('< | + | |
- | </ | + | |
- | + | ||
- | **Tipp:** Platzhalter sind vor allem dann hilfreich, wenn für die Einbindung des Stimulus mehr HTML-Code erforderlich ist, als hier exemplarisch gezeigt. | + | |
- | + | ||
- | **Tipp:** Die Bezeichnung der PHP-Variable (in den Beispielen '' | + | |
- | + | ||
- | ==== Umfangreiche HTML-Codes ==== | + | |
- | + | ||
- | Falls Stimuli | + | |
- | + | ||
- | <code php> | + | |
- | $code = value(' | + | |
- | + | ||
- | // Text bzw. HTML-Code als Text anzeigen | + | |
- | if ($code == 1) { | + | |
- | text(' | + | |
- | } elseif ($code == 2) { | + | |
- | text(' | + | |
- | } elseif ($code == 3) { | + | |
- | text(' | + | |
- | } elseif ($code == 4) { | + | |
- | text(' | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | ==== Stimulus: Frage ==== | + | |
- | Wenn der zu randomisierende Stimulus eine Frage ist, benötigt man die PHP-Funktionen [[de: | + | |
- | + | ||
- | <code php> | + | |
- | if (value(' | + | |
- | question(' | + | |
- | } elseif (value(' | + | |
- | question(' | + | |
- | } else { | + | |
- | // Den else-Teil könnte man in diesem Fall weglassen, | + | |
- | // hier passiert rein gar nichts. | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | Der Wert 1 für den Zufallsgenerator (RG01) würde in diesem Fall keine Frage anzeigen, da der Teilnehmer der Kontrollgruppe zugeordnet wurde. Wenn der Wert RG01=2 gezogen wurde, wird die Frage AB01 angezeigt und bei dem Wert RG01=3 die Frage AB02. Die Fragekennungen für den Zufallsgenerator und die zu zeigenden Fragen müssen Sie ihrem Fragebogen individuell anpassen. | + | |
- | + | ||
- | ==== Stimulus und Frage zusammen ==== | + | |
- | + | ||
- | Man kann auch Fragen und Stimuli | + | |
- | + | ||
- | <code php> | + | |
- | $zahl = value(' | + | |
- | + | ||
- | if ($zahl == 1) { | + | |
- | text(' | + | |
- | question(' | + | |
- | } elseif ($zahl == 2) { | + | |
- | text(' | + | |
- | question(' | + | |
- | } elseif ($zahl == 3) { | + | |
- | text(' | + | |
- | question(' | + | |
- | } elseif ($zahl == 4) { | + | |
- | text(' | + | |
- | question(' | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | In dem Beispiel wird zum Stimulus A eine andere Frage (AB01) angezeigt, als zu den anderen Stimuli. | + | |
- | + | ||
- | **Hinweis:** Wenn die Frage zu den Stimuli immer gleich ist, muss man diese nicht extra im Code angeben. In diesem Fall genügt es, wenn man die Frage einfach unter dem Stimulus oder auf der nächsten Fragebogenseite, | + | |
- | + | ||
- | + | ||
- | ==== Stimulus und Frage auf unterschiedlichen Seiten ==== | + | |
- | + | ||
- | Falls der Stimulus und die (jeweils zugehörige) Frage auf unterschiedlichen Seiten gezeigt werden sollen, wird auf beiden Seiten ein Filter eingebaut. Wenn die Zufallszahl einmal gezogen wurde, steht sie (im Beispiel als Variable '' | + | |
- | + | ||
- | <code php> | + | |
- | // PHP-Code auf der Seite mit dem Stimulus | + | |
- | $zahl = value(' | + | |
- | + | ||
- | if ($zahl == 1) { | + | |
- | text(' | + | |
- | } elseif ($zahl == 2) { | + | |
- | text(' | + | |
- | } elseif ($zahl == 3) { | + | |
- | text(' | + | |
- | } elseif ($zahl == 4) { | + | |
- | text(' | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | <code php> | + | |
- | // PHP-Code auf der Seite mit der Frage | + | |
- | $zahl = value(' | + | |
- | + | ||
- | if ($zahl == 1) { | + | |
- | question(' | + | |
- | } elseif ($zahl == 2) { | + | |
- | question(' | + | |
- | } elseif ($zahl == 3) { | + | |
- | question(' | + | |
- | } elseif ($zahl == 4) { | + | |
- | question(' | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | **Hinweis: | + | |
- | + | ||
- | **Tipp:** Mit dieser Variable können zusammengehörige Stimuli (z.B. Seite 1 bis 3 eines Zeitungsartikels) auf mehrere Seiten verteilt werden. | + | |
- | + | ||
- | ==== Fragen auf verschiedenen Seiten ==== | + | |
- | Wenn die Fragen auf unterschiedlichen Seiten im Fragebogen erscheinen sollen muss man an zwei Stellen filtern: | + | |
- | + | ||
- | <code php> | + | |
- | //Auf der 1. Seite platzieren | + | |
- | $zahl = value(' | + | |
- | + | ||
- | // Die eine oder die andere Frage zeigen | + | |
- | if ($zahl == 1) { | + | |
- | question(' | + | |
- | } else { | + | |
- | question(' | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | <code php> | + | |
- | //Auf der 2. Seite platzieren | + | |
- | $zahl = value(' | + | |
- | if ($zahl == 1) { | + | |
- | question(' | + | |
- | } else { | + | |
- | question(' | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | Im Beispiel wird nun zufällig entweder zuerst Frage AB01 und dann später AB02 angezeigt -- oder erst AB03 und dann AB04. | + | |
- | + | ||
- | **Hinweis: | + | |
- | + | ||
- | ====Randomisierung von Seiten==== | + | |
- | + | ||
- | Wenn die Reihenfolge von Fragen komplexer variiert werden soll, können Filter -- wie im obigen Beispiel -- schnell unübersichtlich werden. In diesem Fall kann die PHP-Funktion '' | + | |
- | <code php> | + | - [[de: |
- | $zahl = value(' | + | |
- | if ($zahl == 1) { | + | - [[de: |
- | setPageOrder(' | + | |
- | } elseif ($zahl == 2) { | + | |
- | | + | |
- | } else { | + | |
- | setPageOrder(' | + | |
- | } | + | |
- | </ | + | |
- | Weitere Erklärungen und Beispiele finden Sie in der Referenz zur Funktion '' | ||