Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
de:create:randomization [08.01.2020 10:14] – [Texte, Bilder und Medieninhalte] admin | de:create:randomization [11.02.2021 16:32] – sophia.schauer | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Randomisierung ====== | ====== Randomisierung ====== | ||
- | Möchte man einen Teilnehmer zufällig einer Experimentalgruppe zuweisen (Zufallsauswahl), so handelt es sich um eine Randomisierung. | + | Es gibt verschiedene Arten der Randomisierung, deren technische Umsetzung |
- | Von der Randomisierung zu unterscheiden ist die [[rotation|Rotation]] -- dabei wird die Reihenfolge von Items oder Fragen | + | - [[: |
+ | | ||
+ | - [[: | ||
+ | - [[: | ||
- | **Tipp:** Lesen Sie zum Verständnis der komplexeren Code-Beispiele (unten) die Kapitel [[php|Einführung in PHP-Code]] und [[array|Einführung in Arrays]]. | ||
+ | **Tipp:** Lesen Sie zum Verständnis der komplexeren Code-Beispiele die Kapitel [[php|Einführung in PHP-Code]] und [[array|Einführung in Arrays]]. | ||
- | ===== Grundsätzliche Verwendung ===== | + | **Tipp:** Schauen Sie sich auch das [[https:// |
- | Die experimentelle Logik (between-subject) geht davon aus, dass die Teilnehmer eines Experiments in unterschiedliche Experimentalgruppen eingeteilt werden. Abhängig von der zugewiesenen Gruppe | + | **Hinweis: |
- | Auch wenn Ihr Ziel " | ||
+ | ===== Spezielle Anwendungen ===== | ||
- | ==== Schritt 1: Einteilung in Experimentalgruppen ==== | + | * [[: |
- | + | * [[: | |
- | Legen Sie eine Frage vom Typ [[: | + | |
- | + | ||
- | < | + | |
- | 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 | + | |
- | </ | + | |
- | + | ||
- | Bei der //Art der Ziehung// können Sie in Betracht ziehen, ob Sie statt " | + | |
- | + | ||
- | Für //Anzahl Zettel pro Interview// lassen Sie den Wert 1 stehen. So wird der Teilnehmer nur einer der Experimentalbedingungen/ | + | |
- | + | ||
- | + | ||
- | ==== Schritt 2: Präsentation des Stimulus ==== | + | |
- | + | ||
- | Beim **Fragebogen zusammenstellen** ziehen Sie die Zufallsgenerator-Frage, | + | |
- | + | ||
- | Der Zufallsgenerator zieht nun zufällig einen der definierten Zettel und speichert dessen Code in einer Variable mit der Kennung des Zufallsgenerators. Wenn die Zufallsgenerator-Frage also z.B. die Kennung " | + | |
- | + | ||
- | An der Stelle, wo der Stimulus erscheinen soll (auf jeden Fall unter der Zufallsgenerator-Frage oder auf einer späteren Seite) platzieren Sie nun ein Element " | + | |
- | + | ||
- | + | ||
- | ==== Fragen ==== | + | |
- | + | ||
- | Ist der Stimulus eine Frage (d.h. in Gruppe A soll eine andere Frage aus dem **Fragenkatalog** angezeigt werden als in Gruppe B), so kommt die Funktion '' | + | |
- | + | ||
- | Der folgende PHP-Code würde in der Gruppe " | + | |
- | + | ||
- | <code php> | + | |
- | if (value(' | + | |
- | question(' | + | |
- | } elseif (value(' | + | |
- | question(' | + | |
- | } else { | + | |
- | // Den else-Teil könnte man in diesem Fall weglassen, | + | |
- | // hier passiert rein gar nichts. | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | Die Funktion '' | + | |
- | + | ||
- | + | ||
- | ==== Texte, Bilder und Medieninhalte ==== | + | |
- | + | ||
- | Für Texte, Bilder und Videos verwendet man die Funktion '' | + | |
- | + | ||
- | Legen Sie im **Fragenkatalog** als **Text** entweder den Stimulus-Text an oder (dann mit // | + | |
- | + | ||
- | Der folgende PHP-Code würde in der Gruppe " | + | |
- | + | ||
- | <code php> | + | |
- | if (value(' | + | |
- | text(' | + | |
- | } elseif (value(' | + | |
- | question(' | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | Die weiteren Abschnitte in dieser Anleitung erklären unterschiedliche Einsatzbereiche der Randomisierung. | + | |
- | + | ||
- | + | ||
- | ===== Ziehung einer Zufallszahl ===== | + | |
- | + | ||
- | Das Kernstück jeder Randomisierung ist das Zufallsereignis -- die Ziehung einer Zufallszahl. Generell gibt es bei der zufälligen Auswahl (eines Stimulus, einer Frage, einer Abfolge, etc.) zwei Möglichkeiten: | + | |
- | + | ||
- | Nachdem eine Zufallszahl erst einmal gezogen wurde, ist die weitere Anwendung unabhängig vom " | + | |
- | + | ||
- | * Die beste Lösung zur Ziehung einer Zufallszahl ist i.d.R. eine Funktionsfrage vom Typ [[: | + | |
- | * Eine Alternative zum Zufallsgenerator ist die [[: | + | |
- | * In ganz seltenen Fällen sind die verschiedenen Varianten des Fragebogens so unterschiedlich, | + | |
- | + | ||
- | **Tipp:** Der Abruf der Zufallszahl mittels '' | + | |
- | + | ||
- | + | ||
- | ===== Stimulus randomisieren ===== | + | |
- | + | ||
- | Vor allem in Experimenten muss man die Teilnehmer häufig zufällig auf Versuchs- und Kontrollgruppe(n) verteilen. Oder anders ausgedrückt: | + | |
- | + | ||
- | Das folgende Beispiel zeigt, wie Sie mittels [[php|PHP-Code]] eines von 4 Bildern anzeigen. Voraussetzung ist, dass Sie -- wie oben beschrieben -- eine Zufallszahl zwischen 1 und 4 gezogen und in Variable '' | + | |
- | + | ||
- | <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('< | + | |
- | } | + | |
- | </ | + | |
- | | + | |
- | Das Beispiel zeigt zufällig die Grafik " | + | |
- | + | ||
- | Anstatt mit '' | + | |
- | + | ||
- | Der folgende PHP-Code zeigt genau dieselben Bilder wie der obige PHP-Code, 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 '' | + | |
- | + | ||
- | Falls Ihre Stimuli umfangreichen HTML-Code erfordern (z.B. Videos), wenn sich der HTML-Code zwischen den einzelnen Experimentalgruppen stark unterscheidet oder wenn Sie mit einem [[: | + | |
- | + | ||
- | <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(' | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | ==== Bilder, Texte, Filme, HTML ==== | + | |
- | + | ||
- | Mehrere Code-Beispiele in diesem Kapitel beschreiben, | + | |
- | + | ||
- | <code php> | + | |
- | $zahl = value(' | + | |
- | + | ||
- | // Den kompletten HTML-Code jedes Mal angeben | + | |
- | if ($zahl == 1) { | + | |
- | html('< | + | |
- | } elseif ($zahl == 2) { | + | |
- | html('< | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | <code php> | + | |
- | $zahl = value(' | + | |
- | + | ||
- | // Im Filter nur den Bildnamen ermitteln ... | + | |
- | if ($zahl == 1) { | + | |
- | $bild = ' | + | |
- | } elseif ($zahl == 2) { | + | |
- | $bild = ' | + | |
- | } | + | |
- | // ... und erst danach den HTML-Code erzeugen | + | |
- | html('< | + | |
- | </ | + | |
- | + | ||
- | Andere Inhalte -- z.B. Filme, Stimulustexte, | + | |
- | + | ||
- | Am Besten legt man die HTML-Codes zum Einbinden von Filmen, Audiodateien bzw. die Stimulustexte unter **Textbausteine und Beschriftung** als Textbausteine an ([[texts|Texte im Fragebogen]]). Diese Textbausteine kann man dann mit der Funktion '' | + | |
- | + | ||
- | <code php> | + | |
- | $zahl = value(' | + | |
- | + | ||
- | if ($zahl == 1) { | + | |
- | text(' | + | |
- | } elseif ($zahl == 2) { | + | |
- | text(' | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | **Hinweis: | + | |
- | + | ||
- | **Tipp:** In einem Textbaustein können Sie selbstverständlich auch mehrere Elemente kombinieren -- also z.B. ein Bild und daneben einen Text: | + | |
- | + | ||
- | < | + | |
- | <table cellspacing=" | + | |
- | < | + | |
- | <col width=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td style=" | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | ==== Stimulus und Frage zusammen ==== | + | |
- | + | ||
- | Sie benötigen für einen Teil der Stimuli eine Frage und eine andere für die restlichen 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(' | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | ==== Stimulus und Frage auf unterschiedlichen Seiten ==== | + | |
- | + | ||
- | Falls Stimulus und (jeweils zugehörige) Frage auf unterschiedlichen Seite gezeigt werden sollen, bauen Sie auf beiden Seiten einen Filter ein. Wenn Sie die Zufallszahl einmal gezogen haben, 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 Zeitungsartikel) auf auf mehrere Seiten verteilt werden. | + | |
- | + | ||
- | ===== Randomisierung | + | |
- | + | ||
- | V.a. in Methodenexperimenten werden ganze Fragen randomisiert -- auch das ist mit Filtern recht einfach zu erledigen. Das Vorgehen ist im Prinzip dasselbe wie bei der Randomisierung eines Stimulus: | + | |
- | + | ||
- | <code php> | + | |
- | $zahl = value(' | + | |
- | + | ||
- | if ($zahl == 1) { | + | |
- | question(' | + | |
- | } elseif ($zahl == 2) { | + | |
- | question(' | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | Etwas schwieriger | + | |
- | + | ||
- | <code php> | + | |
- | $zahl = value(' | + | |
- | + | ||
- | // Die eine oder die andere Frage zeigen | + | |
- | if ($zahl == 1) { | + | |
- | question(' | + | |
- | } else { | + | |
- | question(' | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | <code php> | + | |
- | $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 genau andersherum. | + | |
- | + | ||
- | + | ||
- | ===== Randomisierung | + | |
- | + | ||
- | Wenn die Reihenfolge 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 '' | + | |
- | + | ||
- | + | ||
- | ===== Zufällige Auswahl von Fragen ===== | + | |
- | + | ||
- | Sie möchten zufällig 3 von 10 Fragen anzeigen, um Ihren Stimulus auf mehrere Teilnehmer zu verteilen? Hier sind für Zufallsziehung mit und ohne Zurücklegen zwei unterschiedliche Lösungen möglich. | + | |
- | + | ||
- | + | ||
- | ==== Auswahl mit Zurücklegen ==== | + | |
- | + | ||
- | Wenn es egal ist, in welchen Kombinationen die Fragen angezeigt werden __und__ wenn die Fallzahlen pro Frage hinreichend groß sind, um statistische Schwankungen zu verkraften, dann erstellen Sie eine Liste (Array) mit allen Frage-Kennungen, | + | |
- | + | ||
- | <code php> | + | |
- | // Sicherstellen, | + | |
- | if (!isset($fragen)) { | + | |
- | // Liste der relevanten Fragen | + | |
- | $fragen = array( | + | |
- | ' | + | |
- | ' | + | |
- | ); | + | |
- | // Die Liste mischen | + | |
- | shuffle($fragen); | + | |
- | // Und die Variable für eine erneute Anzeige der Seite speichern | + | |
- | registerVariable($fragen); | + | |
- | } | + | |
- | // Die Frage anzeigen, die nach dem Mischen an erste Stelle steht | + | |
- | question($fragen[0]); | + | |
- | // Und die Fragen an zweiter und dritter Stelle | + | |
- | question($fragen[1]); | + | |
- | question($fragen[2]); | + | |
- | </ | + | |
- | + | ||
- | **Tipp:** Wenn die Fragen auf unterschiedlichen Seiten angezeigt werden sollen, dann platzieren Sie die Zeilen mit '' | + | |
- | + | ||
- | **Vorsicht: | + | |
- | + | ||
- | + | ||
- | ==== Auswahl ohne Zurücklegen ==== | + | |
- | + | ||
- | Wenn Sie sicherstellen müssen, dass alle Fragen gleich häufig angezeigt werden, benötigen Sie eine Urne, die mögliche 3er-Kombinationen der Frage-Kennungen enthält. Diese 3er-Kombinationen müssen Sie vorab erstellen, z.B. in Excel. | + | |
- | + | ||
- | < | + | |
- | AB01, AB02, AB04 | + | |
- | AB01, AB02, AB05 | + | |
- | ... | + | |
- | AB05, AB03, AB04 | + | |
- | AB05, AB04, AB03 | + | |
- | </ | + | |
- | + | ||
- | Schon bei 5 Fragen sind 60 Kombinationen möglich. Wenn Sie deutlich mehr Kombinationen als Teilnehmer haben, müssen Sie einen Teil der Kombinationen evtl. systematisch entfernen -- sonst ist nicht sichergestellt, dass die Fragen gleich häufig angezeigt werden. | + | |
- | + | ||
- | Im Fragebogen ziehen Sie nun eine der Kombinationen aus der Urne und verwenden die so gezogenen Kennungen in der '' | + | |
- | + | ||
- | <code php> | + | |
- | urnDraw(' | + | |
- | question(value(' | + | |
- | question(value(' | + | |
- | question(value(' | + | |
- | </ | + | |
- | + | ||
- | Auch hier können Sie die '' | + | |
- | + | ||
- | + | ||
- | ==== Viele Stimuli ==== | + | |
- | + | ||
- | Womöglich möchten Sie eine größere Anzahl von Objekten bewerten lassen. Anstatt einer '' | + | |
- | + | ||
- | <code php> | + | |
- | $zahl = value(' | + | |
- | if ($zahl == 1) { | + | |
- | $src = ' | + | |
- | } elseif ($zahl == 2) { | + | |
- | $src = ' | + | |
- | } elseif ($zahl == 3) { | + | |
- | $src = ' | + | |
- | } elseif ($zahl == 4) { | + | |
- | $src = ' | + | |
- | } elseif ($zahl == 5) { | + | |
- | $src = ' | + | |
- | } elseif ($zahl == 6) { | + | |
- | $src = ' | + | |
- | } elseif ($zahl == 7) { | + | |
- | $src = ' | + | |
- | } elseif ($zahl == 8) { | + | |
- | $src = ' | + | |
- | } elseif ($zahl == 9) { | + | |
- | $src = ' | + | |
- | } elseif ($zahl == 10) { | + | |
- | $src = ' | + | |
- | } | + | |
- | html(' | + | |
- | <div style=" | + | |
- | <img src="' | + | |
- | </ | + | |
- | '); | + | |
- | </ | + | |
- | + | ||
- | <code php> | + | |
- | switch (value(' | + | |
- | case 1 : $src = ' | + | |
- | case 2 : $src = ' | + | |
- | case 3 : $src = ' | + | |
- | case 4 : $src = ' | + | |
- | case 5 : $src = ' | + | |
- | case 6 : $src = ' | + | |
- | case 7 : $src = ' | + | |
- | case 8 : $src = ' | + | |
- | case 9 : $src = ' | + | |
- | case 10 : $src = ' | + | |
- | } | + | |
- | html(' | + | |
- | <div style=" | + | |
- | <img src="' | + | |
- | </ | + | |
- | '); | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | ===== Kombinationen ===== | + | |
- | + | ||
- | Sie können mit einer Urne nicht nur eine Zufallszahl ziehen, sondern gleich eine ganze Kombination. Damit lassen sich mehrfaktorielle Experimente oder Conjoint-Abfragen einfach realisieren. | + | |
- | + | ||
- | Dieses Beispiel verwendet 3 interne Variablen ('' | + | |
- | + | ||
- | < | + | |
- | 1, 1, 1 | + | |
- | 1, 1, 2 | + | |
- | 1, 2, 1 | + | |
- | 1, 2, 2 | + | |
- | 2, 1, 1 | + | |
- | 2, 1, 2 | + | |
- | 2, 2, 1 | + | |
- | 2, 2, 2 | + | |
- | </ | + | |
- | + | ||
- | Im Beispiel wird also stets eine 3er-Kombination gezogen. Jede der drei Variablen hat entweder die Ausprägung 1 oder 2. Mittels Arrays werden den Zahlen Text zugeordnet. Dabei dient der gezogene Wert (also 1 oder 2) als Schlüssel -- er wird in eckigen Klammern angegeben, um das jeweilige Element des Arrays auszuwählen. Siehe auch [[: | + | |
- | + | ||
- | <code php> | + | |
- | urnDraw(' | + | |
- | // Die Zahlen kodieren drei Eigenschaften - hier werden ihnen Text zugeordnet | + | |
- | $preis = array( | + | |
- | 1 => '5 Euro', | + | |
- | 2 => '10 Euro', | + | |
- | ); | + | |
- | $qualitaet = array( | + | |
- | 1 => ' | + | |
- | 2 => ' | + | |
- | ); | + | |
- | $lieferzeit = array( | + | |
- | 1 => ' | + | |
- | 2 => ' | + | |
- | ); | + | |
- | html(' | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | '); | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | ===== Mehrfach aus Urnen ziehen ===== | + | |
- | + | ||
- | **Wichtig:** Wenn Sie innerhalb eines Interview mehrere Zettel ziehen möchten, der gleiche Zettel aber nicht mehrfach gezogen werden darf, dann verwenden Sie statt der Urne einen [[: | + | |
- | + | ||
- | Wenn Sie aus unterschiedlichen Urnen ziehen möchten, benötigen Sie auch mehrere Fragen vom Typ " | + | |
- | + | ||
- | <code php> | + | |
- | urnDraw(' | + | |
- | urnDraw(' | + | |
- | urnDraw(' | + | |
- | // Die Zettel werden erst abgelegt, wenn der Teilnehmer das Ende des | + | |
- | // Fragebogens erreicht - so werden Abbrecher bei der Ziehung nicht gezählt | + | |
- | + | ||
- | // Auf den Personen-Zettel stünde nun z.B.: Alter, Vorname, Geschlecht | + | |
- | // Dies wird zusammengefügt als "Alter (Vorname, Geschlecht)" | + | |
- | $beschreibung1 = value(' | + | |
- | $beschreibung2 = value(' | + | |
- | // Jetzt in der Beschreibung also | + | |
- | // z.B. " | + | |
- | // Steht nun noch auf dem dritten Zettel, in welcher Beziehung | + | |
- | // die beiden Personen stehen, lässt sich so eine Situations- | + | |
- | // Beschreibung erstellen: | + | |
- | $komplett = $beschreibung1.' | + | |
- | // z.B. " | + | |
- | // Natürlich könnte der Text auch per Platzhalter in die Frage | + | |
- | // integriert werden | + | |
- | html($komplett); | + | |
- | </ | + | |
- | + | ||
- | Hier ein noch komplexeres Beispiel, das zeigt, wie man Zufallszahlen in Textelemente transformieren | + | |
- | + | ||
- | < | + | |
- | 11, 21 | + | |
- | 11, 22 | + | |
- | 11, 23 | + | |
- | 11, 24 | + | |
- | 12, 21 | + | |
- | 12, 22 | + | |
- | ... | + | |
- | 16, 23 | + | |
- | 16, 24</ | + | |
- | + | ||
- | <code php> | + | |
- | // Eine Kombination aus Urne " | + | |
- | // Zettel noch nicht ablegen | + | |
- | urnDraw(' | + | |
- | // Werte sind nun gespeichert unter A101_01 und A101_02 | + | |
- | // Der erste Wert kann 11-16 sein, der zweite 21-24 | + | |
- | // Texte in Variable $text1 und $text2 speichern | + | |
- | switch (value(' | + | |
- | case 11: $text1 = '500 Euro'; break; | + | |
- | case 12: $text1 = '1000 Euro'; break; | + | |
- | case 13: $text1 = '1500 Euro'; break; | + | |
- | case 14: $text1 = '2000 Euro'; break; | + | |
- | case 15: $text1 = '2500 Euro'; break; | + | |
- | case 16: $text1 = '3000 Euro'; break; | + | |
- | default: $text1 = ' | + | |
- | } | + | |
- | switch (value(' | + | |
- | case 21: $text2 = 'Ein Freund'; | + | |
- | case 22: $text2 = 'Ein Verwandter'; | + | |
- | case 23: $text2 = 'Ein Kollege'; | + | |
- | case 24: $text2 = 'Ihr Chef'; break; | + | |
- | default: $text1 = ' | + | |
- | } | + | |
- | $situation = $text2.' | + | |
- | // In Platzhalter %situation% speichern | + | |
- | replace(' | + | |
- | // Frage zur Situation (mit Platzhalter %situation%) | + | |
- | question(' | + | |
- | </ | + | |
- | + | ||
- | Auf einer späteren Seite -- wenn alle relevanten Daten erfragt wurden -- wird der Zettel dann abgelegt: | + | |
- | + | ||
- | <code php> | + | |
- | urnPutAway(' | + | |
- | // Oder in diesem Fall auch einfach nur | + | |
- | urnPutAway(); | + | |
- | </ | + | |
- | + | ||
- | **Wichtig: | + | |
- | + | ||
- | **Wichtig: | + | |
- | + | ||
- | + | ||
- | ===== Urnen für Teilgruppen I ===== | + | |
- | + | ||
- | Es kann vorkommen, dass Sie die Gleichverteilung von Experimentalgruppen in zwei Teilgruppen gewährleisten müssen -- also z.B. wenn Sie 3 Stimuli haben und sowohl die Frauen als auch die Männer in der Studie gleichmäßig auf alle drei Konditionen verteilt werden sollen. | + | |
- | + | ||
- | Hierfür benötigen Sie eine interne Variable und zwei (inhaltlich gleiche) Urnen. Das folgende Beispiel geht davon aus, dass das Geschlecht auf einer früheren Seite mit der Auswahlfrage SD02 abgefragt wurde. Und dass Sie zwei Urnen mit den Kennungen " | + | |
- | + | ||
- | <code php> | + | |
- | if (value(' | + | |
- | urnDraw(' | + | |
- | } else { | + | |
- | urnDraw(' | + | |
- | } | + | |
- | + | ||
- | // Stimulus anzeigen | + | |
- | $z = value(' | + | |
- | if ($z == 1) { | + | |
- | text(' | + | |
- | } elseif ($z == 2) { | + | |
- | text(' | + | |
- | } elseif ($z == 3) { | + | |
- | text(' | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | Sie möchten lieber einen Zufallsgenerator anstatt einer Urne verwenden? Immerhin ist dieser einfacher anzulegen und zu verwalten... Dann sollten Sie, damit es bei der Anzeige des Stimulus nicht zu kompliziert wird, den gezogenen Code allerdings mittels '' | + | |
- | + | ||
- | Der folgende PHP-Code geht davon aus, dass Sie 2 Teilgruppen haben (Frauen und Männer, entsprechend Variable " | + | |
- | + | ||
- | <code php> | + | |
- | if (value(' | + | |
- | question(' | + | |
- | put(' | + | |
- | } else { | + | |
- | question(' | + | |
- | put(' | + | |
- | } | + | |
- | + | ||
- | // Stimulus anzeigen | + | |
- | $z = value(' | + | |
- | if ($z == 1) { | + | |
- | text(' | + | |
- | } elseif ($z == 2) { | + | |
- | text(' | + | |
- | } elseif ($z == 3) { | + | |
- | text(' | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | ===== Urnen für Teilgruppen II ===== | + | |
- | + | ||
- | Womöglich sollen die unterschiedlichen Teilpopluationen (z.B. Männer und Frauen) auch unterschiedliche Stimuli erhalten. Eine einfache Lösung besteht darin, dass Sie unterschiedliche Nummern in die Urnen legen. | + | |
- | + | ||
- | Für das folgende Beispiel benötigen Sie eine Frage " | + | |
- | + | ||
- | Ansonsten ist der PHP-Code weitgehend identisch mit dem vorhergehenden Beispiel. | + | |
- | + | ||
- | <code php> | + | |
- | if (value(' | + | |
- | urnDraw(' | + | |
- | } else { | + | |
- | urnDraw(' | + | |
- | } | + | |
- | + | ||
- | // Stimulus anzeigen | + | |
- | $z = value(' | + | |
- | if ($z == 1) { | + | |
- | text(' | + | |
- | } elseif ($z == 2) { | + | |
- | text(' | + | |
- | } elseif ($z == 3) { | + | |
- | text(' | + | |
- | } elseif ($z == 4) { | + | |
- | text(' | + | |
- | } elseif ($z == 5) { | + | |
- | text(' | + | |
- | } elseif ($z == 6) { | + | |
- | text(' | + | |
- | } | + | |
- | </ | + |