Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

0 votes

Hallo,
ich würde gerne folgende Aufgabe in meinem Projekt anlegen:
Ich habe insgesamt 18 Bilder. Davon bilden jeweils 9 eine Gruppe (high und low). Ich möchte nun, dass jeweils 2 Bilder zusammen angezeigt werden, und die Versuchspersonen sich durch Klick auf ein Bild für eines von beiden entscheiden. Dabei ist es wichtig, dass immer ein Bild von der „High-Gruppe“ und ein Bild von der „Low-Gruppe“ angezeigt werden. Zudem soll die Reihenfolge und Kombination der Bilder randomisiert werden, aber kein Paar soll zweimal vorkommen (theoretisch sind also 81 Kombinationen denkbar) Die Versuchspersonen sollen zufällig 18 Kombinationen sehen, wobei kein Bild öfter wie 2mal angezeigt werden soll .
Momentan gehe ich dabei so vor (zur Vereinfachung nur mit 3 Bildern):
Ich bilde 2 getrennte arrays für die 2 Gruppen

// Das Mischen der Liste nur einmalig ausführen
if (!isset($seiten)) {

// Liste  erstellen
$composites_high = array('high1.png', 'high2.png', 'high3.png');
$composites_low = array('low1.png', 'low2.png', 'low3.png');	

// Die Liste zufällig mischen
shuffle($composites_high);
shuffle($composites_low);

//Die Liste auf allen Seiten verfügbar machen
registerVariable($composites_high);
registerVariable($composites_low);}

//Reihenfolge in internen Variablen speichern
put('OR01_01',$composites_high[0]);
put('OR01_02',$composites_high[1]);
put('OR01_03',$composites_high[2]);

put('OR02_01',$composites_low[0]);
put('OR02_02',$composites_low[1]);
put('OR02_03',$composites_low[2]);

//Platzhalter erstellen
replace('%high1%',$composites_high[0]);
replace('%high2%',$composites_high[1]);
replace('%high3%',$composites_high[2]);

replace('%low1%',$composites_low[0]);
replace('%ilow2%',$composites_low[1]);
replace('%low3%',$composites_low[2]);
}

Die Platzhalter verwende ich dann als Auswahloption innerhalb der Frage „Zoom-Auswahl“, da die Versuchspersonen sich hier durch Klicken auf ein Bild für eines entscheiden. Ich habe die Frage „Zoom-Auswahl“ 18mal erstellt, wobei jeder Platzhalter 2mal vorkommt.
Diese Lösung funktioniert zwar, gefällt mir aber vor allem in Hinblick auf die Datenauswertung nicht. Da auch die Position der Bilder randomisiert werden soll (also ob das Bild rechts oder links dargestellt wird), der Fragetyp „Zoom-Auswahl“ jedoch nur 1 oder 2 abspeichert, wird es hinterher sehr schwierig nachzuvollziehen, für welches Bild sich die Versuchspersonen entschieden haben.
Gibt es vielleicht noch eine bessere Lösung?
Vielen Dank schon im Voraus!

in SoSci Survey (dt.) by s072016 (130 points)
edited by s072016

1 Answer

0 votes

Hübsch soweit!

Nur zur Sicherheit: Sie haben 9 Zuum-Auswahl-Fragen à 2 Bilder = 18 Bilder, korrekt?

Da auch die Position der Bilder randomisiert werden soll (also ob das Bild rechts oder links dargestellt wird), der Fragetyp „Zoom-Auswahl“ jedoch nur 1 oder 2 abspeichert

Die Zoom-Auswahl sollte (wie die meisten anderen Fragen) eine explizite Vorgabe der Item-Abfolge erlauben. Versuchen Sie es mal mit:

if (random(1,2) == 1) {
  question('ZA01', '1,2');
} else {
  question('ZA01', '2,1');
}

Hilft das weiter? Wenn Sie zudem sicherstellen wollten, dass jede Kategorie (näherungsweise) gleich häufig links oder rechts steht, müssten Sie ein Array mit dem Inhalt array(1,1,1,1,1,2,2,2,2,2) mischen und dann statt random(1,2) als Basis für die Reihenfolge in der Zoom-Auswahl verwenden.

by SoSci Survey (76.2k points)
Der Tipp mit random() funktioniert wunderbar – vielen Dank!
Nur noch eine Frage:
Ich habe momentan tatsächlich 18mal den Fragentyp Zoom-Auswahl genommen und jeden Platzhalter 2mal verwendet, da jedes Bild 2mal angezeigt werden soll. Nur kurz ein Beispiel, um zu verdeutlichen, was ich meine (bei RA handelt es sich um die einzelnen Fragen):

RA01
<image src = "%high1%">    <image src = "%low1%">
RA02
<image src = "%high2%">    <image src = "%low2%">
RA03
<image src = "%high3%">    <image src = "%low3 %">
RA04
<image src = "%high1%">    <image src = "%low2%">
RA05
<image src = "%high2%">    <image src = "%low3%">
RA06
<image src = "%high3%">    <image src = "%low1%">

Wie gesagt, das Ganze funktioniert soweit auch – ich mache mir nur ein wenig Sorgen über die Datenauswertung. Für die Datenauswertung ist es wichtig, dass ich weiß, welche Bilder zusammen dargestellt wurden. Daher speichere ich auch alles in einer internen Variable (s. oben). Für die ersten 3 Paarungen (in diesem Beispiel) ist es dann auch kein Problem, nachzuvollziehen, welches Bild wann angezeigt wurde. Da ich aber danach die Platzhalter händisch an einen anderen Ort setze, ist das zumindest später nicht ganz einfach nachzuvollziehen. Ist es verständlich, was ich meine?
Natürlich könnte ich auch einfach jedes Bild 2mal in den array (s. oben) packen und entsprechend viele Platzhalter erstellen, aber dann wäre nicht gewährleisten, dass jede Paarung nur einmal vorkommt. Ich hoffe, das war einigermaßen verständlich.
Gibt es vlt. eine bessere (evlt. auch ganz andere) Vorgehensweise mit der ich einfacher nachvollziehen kann, welche Bilder tatsächlich zusammen dargeboten wurden?
Vielen Dank!
Nun, vermutlich lässt sich das anhand der Daten schon rekonstruieren. Und womöglich ist das auch die einfachste Lösung.

Eine mögliche Alternative könnte sein, dass Sie in jeder Zoom-Auswahl alle (!) Bilder packen - und dann entsprechend der Zufallsauswahl nur jene zwei anzeigen, die gezeigt werden sollen. Dann müssten Sie die Nummern 1..18 statt der Dateinamen mischen.

Der Vorteil dabei wäre, dass Sie im Datensatz gleich den (ausgewähleten) Bildercode haben. Das ist etwas einfacher - aber den nicht-ausgewählten Gegenpart müssten Sie doch wieder in eine interne Variable packen.

Noch eine ziemlich elegante Möglichkeit: https://www.soscisurvey.de/help/doku.php/de:create:multilevel - dort hätten Sie dann pro Auswahl eine eigene Datenzeile (was in der Auswertung vermutlich wesentlich einfacher wäre) und Sie könnten dort auch gleich in 2 interne Variablen speichern, welche Bilder verglichen wurden.
Vielen Dank fuer die schnelle Antwort!!
...