======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:** Wenn Sie nur einen Stimulus (Bild oder andere Mediendateien) randomisieren möchten, sollte die einfache Vorgangsweise, die unter [[de:create:randomization-einfaktoriell|]] beschrieben wird, ausreichen. **Hinweis:** Wenn Sie nur einen Teil der zufälligen Stimuli anzeigen möchten, lesen Sie bitte das Kapitel [[de:create:randomization-within|]]. =====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:create:questions:random|Zufallsgenerator]] angelegt werden (siehe [[de:create:basics#teil_1fragen_erstellen|Fragen erstellen]]). __Beispiel__:\\ Zettel zeigt die Zahl "1"\\ Zahl "1" ist die zugeordnete Zahl der "Gruppe 1" und die Gruppe 1 soll einen bestimmten Stimulus erhalten Durch das Anlegen dieses funktionalen Bausteins 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 "Zettel" mit der Nummer der Gruppe zieht. In das Feld //Zettel (Inhalte)// schreiben Sie eine kurze Beschreibung Ihrer Experimentalgruppen, z.B. 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, ist bisher nur festgelegt, zu welcher Gruppe der Teilnehmer gehört (definiert durch die Zufallszahl). Für die Definition, welcher Gruppe nun welcher Stimulus präsentiert wird, braucht man einen PHP-Code für einen [[de:create:php-filters|Filter]]. Dieser wird beim **Zusammenstellen des Fragebogens** //unter// dem Zufallsgenerator auf der Seite platziert, auf welcher der Stimulus angezeigt werden soll. Dies sieht dann etwa folgendermaßen aus: {{:de:create:scr.zufallsgenerator_php.png?400|Der Zufallsgernerator wird über dem PHP-Code platziert}} **Hinweis:** Nach dem Platzieren des Zufallsgenerators __und__ des PHP-Codes dürfen die Stimuli __nicht__ noch zusätzlich explizit auf der Fragebogenseite eingebunden werden! **Tipp:** Wenn Sie einen Stimulus mehrfach auf unterschiedlichen Seiten präsentieren möchten, können Sie den PHP-Code einfach mehrfach auf unterschiedlichen Seiten einbinden. Den Zufallsgenerator müssen Sie nur einmal im Fragebogen einbinden. Zur Einbindung eines Stimulus oder Treatments via [[de:create:php|PHP-Code]] in den Fragebogen gibt es verschiedene Möglichkeiten und auch für die verschiedenen Stimuli sieht der Code jeweils etwas anders aus. Hier geht es weiter zu den einzelnen Stimuli: - [[de:create:randomization-text|Stimulus: Text]]\\ Hier wird Ihnen erklärt, wie Sie mit Hilfe eines PHP-Codes nach dem Erstellen des Zufallsgenerators verschiedene Texte randomisieren können. - [[de:create:randomization-media|Stimulus: Bild, Video, Audio]]\\ Mediendateien, wie Bilder, Videos und Audios werden via PHP-Code allgemein ähnlich randomisiert wie Texte. In diesem Kapitel finden Sie die Anleitungen für die einzelnen Mediendateien.\\ **Hinweis:** Da Mediendateien auch ohne PHP-Code randomisierbar sind, schauen Sie sich bitte zunächst die Erklärung unter [[de:create:randomization-einfaktoriell|]] an, um zu überprüfen, ob dieses Format für Ihre Zielsetzung bereits ausreichend ist. Außerdem steht auf dieser Seite, wie Sie Mediendateien abspeichern müssen. - [[de:create:randomization-question|Stimulus: Frage]]\\ In manchen Fällen ist es notwendig, ganze Fragen zu randomisieren. Wie das umzusetzen ist, lesen Sie hier. - [[de:create:randomization-page|Stimulus: Seite]]\\ Mit Hilfe der Funktion setPageOrder() können ganze Seiten randomisiert werden. - [[:de:create:randomization-mixedstimuli|Verschiedene Stimuli gemeinsam randomisieren]]\\ Mit Hilfe eines PHP-Codes können auch verschiedene Stimuli gemeinsam randomisiert werden.