Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
de:create:randomization_php [24.01.2021 14:40] – sophia.schauer | de:create:randomization_php [29.01.2021 21:11] (aktuell) – Umbenannt nach randomization-php (mit Bindestrich) admin | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ======Randomisierung mit PHP-Code====== | ||
- | |||
- | Für komplexere Randomisierungen wie zum Beispiel die Kombination von Fragen und Stimuli oder auch für komplexere HTML-Codierungen der Stimuli ist es sinnvoll, die Randomisierung durch einen PHP-Code in den Fragebogen zu integrieren. Wie dies gelingt wird in diesem Kapitel anhand einiger Beispiele erklärt. | ||
- | |||
- | **Hinweis: | ||
- | |||
- | **Hinweis: | ||
- | |||
- | |||
- | =====Schritt 1: Zufallsgenerator - Einteilung in Experimentalgruppen===== | ||
- | |||
- | Als ersten Schritt für die folgenden Beispiele wird in jedem Fall zunächst ein Zufallsgenerator benötigt, um die Teilnehmer in verschiedene Experimentalgruppen einzuordnen. Dafür muss eine neue Frage vom Typ [[de: | ||
- | |||
- | __Beispiel__: | ||
- | Zettel zeigt die Zahl " | ||
- | Zahl " | ||
- | |||
- | Durch das Anlegen dieses Fragentyps legen Sie die Unterteilung in verschiedene Gruppen fest. Jeder Teilnehmer wird einer dieser Gruppen zugeordnet, wobei im folgenden beschrieben wird, dass der Teilnehmer bildlich gesprochen einen " | ||
- | |||
- | < | ||
- | Kontrollgruppe | ||
- | Positive Fallbeispiele | ||
- | Negative Fallbeispiele | ||
- | </ | ||
- | |||
- | Nach dem Speichern ergänzt SoSci Survey für jede Gruppe einen numerischen Code, z.B. | ||
- | |||
- | < | ||
- | 1 = Kontrollgruppe | ||
- | 2 = Positive Fallbeispiele | ||
- | 3 = Negative Fallbeispiele | ||
- | </ | ||
- | |||
- | Was welcher Gruppe später angezeigt wird, wird erst im nächsten Schritt -- also beim Einbinden des entsprechenden PHP-Codes -- festgelegt. | ||
- | |||
- | =====Schritt 2: Präsentation des Stimulus===== | ||
- | Wie oben beschrieben, | ||
- | |||
- | Für die Definition, welcher Gruppe nun welcher Stimulus präsentiert wird, braucht man einen PHP-Code für einen [[de: | ||
- | |||
- | {{: | ||
- | |||
- | **Hinweis: | ||
- | |||
- | Zur Einbindung eines Stimulus oder Treatments via [[de: | ||
- | |||
- | - [[de: | ||
- | - [[de: | ||
- | - [[de: | ||
- | - [[de: | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ==== 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 gemeinsam randomisieren. Dies ist der Fall, wenn man abhängig vom Stimulus auch unterschiedliche Fragen abfragen möchte. | ||
- | |||
- | <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: | ||
- | |||
- | |||
- | ==== 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> | ||
- | $zahl = value(' | ||
- | if ($zahl == 1) { | ||
- | setPageOrder(' | ||
- | } elseif ($zahl == 2) { | ||
- | setPageOrder(' | ||
- | } else { | ||
- | setPageOrder(' | ||
- | } | ||
- | </ | ||
- | |||
- | Weitere Erklärungen und Beispiele finden Sie in der Referenz zur Funktion '' | ||