Übersetzungen dieser Seite:
 

Randomisierung von Mediendateien

Bilder, Videos und Audiodateien können mittels PHP-Code randomisiert werden. Dazu bindet man die Dateien via HTML-Text ein. Die Dateien müssen bereits in Bilder und Mediendateien gespeichert sein (siehe auch Bilder im Fragebogen und Mediendateien im Fragebogen).

Hinweis: Da die Einbindung der Stimuli bereits den 2. Schritt einer Randomisierung darstellt, lesen Sie zuvor unbedingt das Kapitel Randomisierung mit PHP-Code, da hier genau beschrieben wird, wie Sie den benötigten Zufallsgenerator (Schritt 1) anlegen müssen und wo Sie ihren PHP-Code auf der Seite platzieren müssen.

Tipp: Mediendateien können auch nur mittels eines Zufallsgenerators randomisiert werden. Lesen Sie dazu das Kapitel Einfaktorielles Design, in den meisten Fällen genügt diese einfachere Vorgehensweise aus.

Wie die PHP-Codes zu den einzelnen Dateitypen aussehen können, wird im folgenden genauer beschrieben. Allgemein sehen die PHP-Codes aber gleich aus, denn die Dateien werden jeweils als HTML-Texte angelegt (siehe Mediendateien im Fragebogen (Audio, Video, Dokumente)) und 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, die unter Randomisierung einfaktoriell beschrieben wird, eher an.

Beispiel: Randomisierung von 2 Bildern

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:

if (value('RG01') == 1) {
  text('BT01');
  //Der angezeigte Text ist der HTML-Text des Bildes mit der Kennung BT01
} elseif (value('RG01') == 2) {
  text('BT02');
  //Der angezeigte Text ist der HTML-Text des Bildes mit der Kennung BT02
}

Beispiel: Randomisieren von 4 Bildern

Vor allem in Experimenten muss man die Teilnehmer häufig zufällig auf Versuchs- und Kontrollgruppen verteilen oder anders ausgedrückt: Man muss zufällig auswählen, welcher von mehreren Stimuli angezeigt wird.

Das folgende Beispiel zeigt, wie man mittels 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 „stimulus1.png“, „stimulus2.png“, „stimulus3.png“ oder „stimulus4.png“. Darunter könnte beispielsweise eine Frage zur Bewertung des Bildes angezeigt werden. Diese müsste beim Zusammenstellen des Fragebogens unter dem PHP-Code platziert werden, dann bekommen alle Teilnehmer unterschiedliche Stimuli, aber immer dieselbe Frage zu diesen:

$zahl = value('RG01');  // Auslesen der gezogenen Zufallszahl
 
// Grafik in Abhängigkeit von der Zahl anzeigen
// (dafür wird HTML-Code verwendet)
if ($zahl == 1) {
  html('<p><img src="stimulus1.png"></p>');
} elseif ($zahl == 2) {
  html('<p><img src="stimulus2.png"></p>');
} elseif ($zahl == 3) {
  html('<p><img src="stimulus3.png"></p>');
} elseif ($zahl == 4) {
  html('<p><img src="stimulus4.png"></p>');
}

Anstatt mit html() einen Text oder eine Grafik anzuzeigen, kann man natürlich auch mit text() einen längeren Text zeigen, ein Video einbinden oder mit question() eine Frage anzeigen.

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, sondern mit einem Platzhalter %dateiname% und der Funktion replace().

$code = value('RG01');  // Auslesen der gezogenen Zufallszahl
 
// Grafikdatei in Abhängigkeit von der Zufallszahl in einen Platzhalter schreiben
if ($code == 1) {
  replace('%dateiname%', 'stimulus1.png');
} elseif ($code == 2) {
  replace('%dateiname%', 'stimulus2.png');
} elseif ($code == 3) {
  replace('%dateiname%', 'stimulus3.png');
} elseif ($code == 4) {
  replace('%dateiname%', 'stimulus4.png');
}
// Den HTML-Code kann man direkt einbinden oder (hier nicht gezeigt) als Textbaustein
html('<p><img src="%dateiname%"></p>');

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 $zahl und $code) ist willkürlich gewählt. Mehr dazu s. PHP-Variablen.

Text der Zettel und Platzhalter

Die obigen PHP-Codes haben jeweils nur den vom Zufallsgenerator gezogenen (numerischen) Code verwendet. Sie können aber auch den Inhalt der Zettel im Zufallsgenerator verwenden. Wenn Sie mit BIldern arbeiten, bietet es sich an, die Bildnamen im Zufallsgenerator zu hinterlegen. Also z.B.

1 = stimulus1.png
2 = stimulus2.png
3 = stimulus3.png
4 = stimulus4.png
5 = stimulus5.png
6 = stimulus6.png

Während Sie mit value('RG01') auf den numerischen Code zugreift, kann man mittels value('RG01', 'label') auf den Inhalt des gezogenen Zettels zugreifen. Mittels replace('%image%, 'RG01', 'response') kann man den Inhalt auch direkt in einen Platzhalter schreiben.

Der vorherige PHP-Code lässt sich damit wie folgt schreiben.

question('RG01');
replace('%dateiname%', 'RG01', 'response');
html('<p><img src="%dateiname%"></p>');

Falls man während eines Interviews mehrere Zettel zieht, muss man lediglich den Namen der Variable entsprechend der Variablen-Übersicht anpassen, z.B.

question('RG01');
// Bild entsprechend dem ersten gezogenen Zettel anzeigen
replace('%dateiname1%', 'RG01x1', 'response');
html('<p><img src="%dateiname1%"></p>');
// Bild entsprechend dem zweiten gezogenen Zettel anzeigen
replace('%dateiname2%', 'RG01x2', 'response');
html('<p><img src="%dateiname2%"></p>');

Stimulus: Video

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 Text angelegt sein.

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:

if (value('RG01') == 2) {
  text('VT01');
  //HTML-Text des Videos mit der Kennung VT01
} elseif (value('RG01') == 3) {
  text('VT02');
  //HTML-Text des Videos mit der Kennung VT02
}

Stimulus: Audio

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 PHP-Code auf der entsprechenden Fragebogenseite (siehe Schritt2) ein. In dem HTML-Text der einzelnen Audios ist bereits angeben, wie diese angezeigt und abgespielt werden sollen. Lesen Sie für eine genauere Erklärung unbedingt die Kapitel Audio-Dateien einbinden und Texte im Fragebogen und speichern Sie wiederum die Audiodateien vorher unter Bilder und Mediendateien.

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).

if (value('RG01') == 2) {
  text('AT01');
  //HTML-Text des Audios mit der Kennung AT01
} elseif (value('RG01') == 3) {
  text('AT02');
  //HTML-Text des Audios mit der Kennung AT02
}

Umfangreiche HTML-Codes

Falls Stimuli umfangreichen HTML-Code erfordern (z.B. Videos), wenn sich der HTML-Code zwischen den einzelnen Experimentalgruppen stark unterscheidet oder wenn man mit einem mehrsprachigen Fragebogen arbeitet, werden vier Texte im Fragenkatalog angelegt (z.B. „RG02“ bis „RG05“, Darstellung jeweils HTML-Code) und abhängig von der Zufallsziehung eingebunden:

$code = value('RG01');  // Auslesen der gezogenen Zufallszahl
 
// Text bzw. HTML-Code als Text anzeigen
if ($code == 1) {
  text('RG02');
} elseif ($code == 2) {
  text('RG03');
} elseif ($code == 3) {
  text('RG04');
} elseif ($code == 4) {
  text('RG05');
}
de/create/randomization-media.txt · Zuletzt geändert: 19.02.2024 21:01 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki