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

Ich möchte für meine Studie den Befragten Bilder von 4 Personen zeigen, an die jeweils eine kurze E-Mail geschrieben werden muss. Dafür wurden 4 verschiedene Fragen konzipiert mit 4 verschiedenen E-Mail-Inhalten. Die Reihenfolge der E-Mails soll für alle Befragten gleich sein, die Reihenfolge der Bilder der Personen soll jedoch randomisiert werden. Die Auswahl der Bilder muss dabei ohne zurücklegen erfolgen, da nicht zwei Mal an die gleiche Person geschrieben werden soll. Mit dem Einfaktoriellen Design kann ich die Auswahl der Bilder zwar für eine Frage randomisieren, aber wenn ich den gleichen Zufallsgenerator für alle 4 Fragen verwende wird immer die gleiche Person angezeigt. Wenn ich für jede Frage einen neuen Zufallsgenerator verwende, kann es passieren, dass die gleiche Person zwei Mal gezogen wird. Wie kann ich das lösen?

in SoSci Survey (dt.) by s224069 (110 points)

1 Answer

0 votes

Bitte legen Sie zu diesem Zweck eine Zufallsgenerator mit 4 Zetteln an, aus dem Sie pro Interview auch jeweils 4 Zettel ziehen: Sie erhalten dann 4 Variablen, die Sie zur Anzeige des jeweils gezogenen Bildes verwenden können.

Das geht in Richtung der Anleitung Fragen rotieren, aber statt Fragen zeigen Sie mittels PHP-Code und Platzhaltern die passenden Bilder, vgl. Randomisierung von Mediendateien.

by SoSci Survey (238k points)
Vielen Dank für die Antwort. Leider bin ich damit immer noch nicht weitergekommen. Ich habe einen Zufallsgenerator mit 4 Zetteln (EM06) generiert. Den habe ich dann im Fragebogen eingefügt und darunter folgenden PHP-Code:

$zahl = value('EM06_CP');  // 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="manuela_dietrich3.jpg"></p>');
} elseif ($zahl == 2) {
  html('<p><img src="michael_gerste3.jpg"></p>');
} elseif ($zahl == 3) {
  html('<p><img src="paul_ebersbach3.jpg"></p>');
} elseif ($zahl == 4) {
  html('<p><img src="rebecca_theiss3.jpg"></p>');
}else{
}

$bilder = valueList('EM06', NULL, 'label');  // hier die Kennung des Zufallsgenerators eintragen
$bild = loopPage($bilder);

Darunter habe ich einen  weiteren PHP- Code eingefügt, um meine Fragen anzeigen zu lassen:

// Teil 1: Liste der Fragen erstellen und mischen
if (!isset($fragen)) {
  // Liste der Frage-Kennungen definieren
  $fragen = [
    'EM01',
    'EM02',
    'EM03',
    'EM04'  
  ];
}
 
// Teil 2: Fragen anzeigen
$i = loopPage(count($fragen));
question($fragen[$i]);

Nun werden mir die Fragen korrekt auf 4 verschiedenen Seiten ausgegeben, jedoch immer mit dem gleichen Bild. Das Bild ändert sich zwar bei jedem Testdurchlauf, jedoch nicht über die 4 Seiten hinweg. Es scheint so, als würde nicht 4 Mal gezogen werden, obwohl ich im Zufallsgenerator die Anzahl der Zettel pro Interview auf 4 gesetzt habe und die Art der Ziehung "Gleichverteilte Ziehung (Ziehen ohne Zurücklegen) ist. Können Sie mir damit weiterhelfen?
> $zahl = value('EM06_CP');  // Auslesen der gezogenen Zufallszahl

Das ist die falsche Variable. Der Name der Variable für die erste Ziehung sollte EM06x1 heißen. Was zeigt denn der "Variablen"-Karteireiter dazu an?
Das ist meine Variablen-Übersicht für den Zufallsgenerator:

EM06_CP Zufallsgenerator: Vollständige Leerungen der Urne bisher
Ganze Zahl

EM06x01 Zufallsgenerator: Gezogener Code (1)
EM06x02 Zufallsgenerator: Gezogener Code (2)
EM06x03 Zufallsgenerator: Gezogener Code (3)
EM06x04 Zufallsgenerator: Gezogener Code (4)
1 = manuela_dietrich3.jpg
2 = michael_gerste3.jpg
3 = paul_ebersbach3.jpg
4 = rebecca_theiss3.jpg

Wenn ich in dem Code > $zahl = value('EM06_CP');  die Variable zu EM06x1 ändere, wird das Bild aus irgendeinem Grund auf einmal doppelt angezeigt und es bleibt immer noch über alle 4 Fragen hinweg das gleiche Bild.
Lassen Sie den oberen Teil weg und starten Sie hier:

$bilder = valueList('EM06', NULL, 'label');
$bild = loopPage($bilder);

Und darunter

html('<p><img src="'.$bild.'"></p>');

Und weiter

$fragen = [
    'manuela_dietrich3.jpg' => 'EM01',
    'michael_gerste3.jpg' => 'EM02',
    'paul_ebersbach3.jpg' => 'EM03',
    'rebecca_theiss3.jpg' => 'EM04'  
];
question($fragen[$bild]);
Vielen Dank für die erneute Hilfe! Das klappt jetzt fast perfekt, es werden jetzt mit jeder Frage nur ein Bild angezeigt und die Bilder sind bei jeder Frage unterschiedlich. Das einzige Problem mit diesen Code ist, dass die Reihenfolge der Fragen jetzt auch randomisiert ist. Gibt es eine Möglichkeit die Reihenfolge der Fragen konstant zu halten?
> Das einzige Problem mit diesen Code ist, dass die Reihenfolge der Fragen jetzt auch randomisiert ist.

Wollten Sie nicht zu jedem Bild immer fix eine bestimmte Frage anzeigen? Ich hatte das intuitiv so gebaut, weil das der Klassiker ist :) Aber ja, Sie hatten oben etwas andere geschrieben. Okay, dann bitte folgende Modifikation.

$bilder = valueList('EM06', NULL, 'label');
$i = loopPage(count($bilder));

html('<p><img src="'.$bilder[$i].'"></p>');

$fragen = [
    0 => 'EM01',
    1 => 'EM02',
    2 => 'EM03',
    3 => 'EM04'  
];
question($fragen[$i]);
Vielen Dank für Ihre Unterstützung! Mit dem neuen Code erhalte ich folgende Fehlermeldung:

Fehler im Fragebogen: Undefined array key 0
Zeile: 6

PHP-Code

003 $bilder = valueList('EM06', NULL, 'label');
004 $i = loopPage(count($bilder));
005
006 html('<p><img src="'.$bilder[$i].'"></p>');
007
008 $fragen = [
009     0 => 'EM01',
Ach ja, ich falle immer wieder darauf rein, dass valueList() als Schlüssel die Namen der Variablen verwendet. Deshalb bitte folgende kleine Ergänzung:

$bilder = valueList('EM06', NULL, 'label');
$bilder = array_values($bilder);
$i = loopPage(count($bilder));
Jetzt funktioniert alles. Vielen Dank für die großartige Unterstützung!
...