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

Lieber Support,

ich habe einen Fragebogen erstellt, in dem ich Probanden 18 Gesichter von Personen sowie 18 Personeninformationen präsentiere. Es gibt 2 Gruppen: Experimentalgruppe, die Gesichter und Informationen verschwommen sieht und Kontrollgruppe, die diese klar sieht. Ich habe den Fragebogen in zwei Hälften unterteilt: in der ersten Hälfte werden 9 Gesichter und 9 Informationen präsentiert. Dazu habe ich Arrays aus jeweils 5 Seiten angelegt: Seite 1 ist immer die Präsentation Gesicht + Information, dann folgen in zufälliger Reihenfolge 4 Seiten, auf denen jeweils eine Frage zur Personenbewertung gestellt wird. Die Abfolge der Arrays (Anzahl 9) ist ebenfalls zufällig. Dann folgt eine Pause und dann die 2.Hälfte mit den restlichen 9 Gesicht+Information Präsentationen (genauso programmiert wie 1.Hälfte).

Nun mein eigentliches Problem:

Im Anschluss an die 2. Hälfte würde ich gerne einen kurzen "Wiedererkennungstest" einbauen. Dazu wollte ich zwei Zuordnungsaufgaben (eine für Experimentalbedingung und eine für Kontrollbedingung) verwenden. Da innerhalb der "Präsentationsphase" das Gesicht einer Person fest ist (z.B. auf Seite A1 Frau 1, auf Seite B1 Frau 2) und diesem zufällig eine der 9 Personenbeschreibungen zugeordnet wird, wäre mein Frage, ob es möglich ist, diese zufälligen Kombinationen in der Zuordnungsaufgabe verfügbar zu machen ? Die Idee dabei ist, dass ich in der Zuordnungsaufgabe nur 5 Gesichter von Personen z.B. aus der 1.Hälfte als Stimuli verwenden möchte und dann jeweils 3 Personeninformationen als Antwortkategorien zeige, von denen aber immer eine "richtig" sein muss, also auch tatsächlich in der "Präsentationsphase" mit dem entsprechenden Gesicht aus der Zuordnungsaufgabe kombiniert wurde (die zufällig festgelegte Reihenfolge der Personeninformationen hatte ich in der Präsentationsphase durch den Befehl registerVariable() "abgespeichert", um sie auf den nachfolgenden Seiten verfügbar zu machen). Die Probanden sollen dann durch Mausklick angeben, welche Personeninformation sie in Kombination mit dem gezeigten Gesicht gesehen haben.

Für Unterstützung wäre ich sehr dankbar !

in SoSci Survey (dt.) by s145677 (150 points)
>  ob es möglich ist, diese zufälligen Kombinationen in der Zuordnungsaufgabe verfügbar zu machen ?

Wenn Sie Ihre Frage um den PHP-Code ergänzen, mit welchem Sie die Randomisierung/Rotation realisiert haben, dann kann ich dazu gerne Tipps geben.

Vermutlich wird es darauf hinauslaufen, dass Sie für die Zuordnung eine Frage mit allen (!) Aussagen als Optionen anlegen. Und dann sorgen Sie per PHP-Code dafür, dass (nur) die richtige plus zwei weitere zufällige angezeigt werden.
Dies ist der PHP Code, den ich zunächst für die zufällige Reihenfolge der Aussagen erstellt habe. (Die Variable R001 ist meine randomisierte Zuteilung für die Gruppen)

$code = value('R001');
if ($code == 1) {
   
if(!isset($aussage)){
   $aussage = array(
     'FE01', 'FE02', 'FE03', 'FE04', 'FE05',  'FE06', 'FE07', 'FE08', 'FE09'   // meine Textbausteine
   );
  shuffle($aussage);

for ($i=0; $i<9; $i++) {
  // Kennung der internen Variable aus Frage-Kennung plus Index erstellen
  $id = id('R003', $i + 1);
  // Hier den Wert aus dem Array speichern
  put($id, $aussage[$i]);
}

 registerVariable($aussage);

 }}  elseif ($code == 2) {
 
if(!isset($aussage)){
   $aussage = array(
     'DE01', 'DE02', 'DE03', 'DE04', 'DE05',  'DE06', 'DE07', 'DE08', 'DE09'   // meine Textbausteine
   );
  shuffle($aussage);

for ($i=0; $i<9; $i++) {
  // Kennung der internen Variable aus Frage-Kennung plus Index erstellen
  $id = id('R003', $i + 1);
  // Hier den Wert aus dem Array speichern
  put($id, $aussage[$i]);
}

registerVariable($aussage);

}}

Auf den nachfolgenden Seiten habe ich zur Anzeige des festen Gesichts und der Auswahl von Personeninformationen diesen PHP Code verwendet:

$code = value('R001');
if ($code == 1) {
   
text('F002');

 question($aussage[0]);

 }  elseif ($code == 2) {
 
text('D002');

 question($aussage[0]);

}

Auf jeder weiteren Seite dann mit question($aussage[1]); ... bis question($aussage[8]);  für die insgesamt 9 Informationen.

1 Answer

0 votes

Sie speichern ja aktuell die Reihenfolge schon in internen Variablen:

for ($i=0; $i<9; $i++) {
  // Kennung der internen Variable aus Frage-Kennung plus Index erstellen
  $id = id('R003', $i + 1);
  // Hier den Wert aus dem Array speichern
  put($id, $aussage[$i]);
}

Das können Sie auch später nutzen, um die Aussagen zuordnen zu lassen. Nehmen wir einmal an, Sie haben eine Frage ZU01 mit 9 Optionen angelegt und es geht um die Aussage, die an erster Stelle angezeigt wurde. Also R003_01.

Bereiten wir erst einmal ein paar Platzhalter %option1% bis %option9% vor. Als Itemtext in ZU01 verwenden Sie diese als Itemtexte.

$texte = ['FE01', 'FE02', 'FE03', 'FE04', 'FE05',  'FE06', 'FE07', 'FE08', 'FE09'];
for ($i=0; $i<9; $i++) {
  replace('%option'.($i+1).'%', getTextelement($texte[$i]));
}

Wenn wir darunter jetzt die Frage ZU01 anzeigen, dann würden wir die 9 Aussagen als Optionen sehen.

Jetzt möchten wir aber nur die richtige Aussage plus 2 andere anzeigen.

$correct = value('R003_01');
$others = array_diff($texte, [$correct]);
shuffle($others);
debug($others);

Damit sollten wir nun eine gemischte Liste der Texte haben, die falsch sind. Die ersten beide nehmen wir als Ablenkung.

$use = [$correct, $others[0], $others[1]];
debug($use);

Davon benötigen wir aber nur die Nummern, ist klar...

$items = [];
foreach ($use as $id) {
  $items[] = (int)trim(substr($id, 2), '0');
}
debug($items);
shuffle($items);
question('ZU01', $items);

Sollte das nicht auf Anhieb funktionieren, posten Sie bitte, was der Fragebogen im Debug-Modus so anzeigt. Dafür sind die vielen debug() da.

by SoSci Survey (136k points)
Dies sind die einzelnen Kästchen, die mir im Debug-Modus angezeigt werden:

Debug-Information für $others:
0FE07, 1FE01, 2FE06, 3FE02, 4FE04, 5FE09, 6FE03, 7FE05

Hinweis (Seite 120)
Debug-Information für $use:
0FE08, 1FE07, 2FE01

Hinweis (Seite 120)
Debug-Information für $items:
08, 17, 21

Warnung (Seite 120)
Für die Frage WA01 wurde kein Item mit der Kennung 7 gefunden

Warnung (Seite 120)
Für die Frage WA01 wurde kein Item mit der Kennung 8 gefunden

Mir wird zusätzlich das 1. Gesicht angezeigt, dass ich als Stimuli in der Zuordnungsaufgabe angegeben habe und darunter alle 9 Optionen, wobei diese aber auch nur den HTML Code der Aussagen und nicht die Aussage selbst anzeigen.
Ich probiere gerade etwas herum und wenn ich alle neun Gesichter als Stimuli in der Zuordnungsaufgabe angebe, verschwindet die Warnmeldung, dass kein Item mit Kennung .. gefunden wurde. Allerdings werden immer noch alle 9 Aussagen und auch nur als HTML-Code für die Antwortkategorien angezeigt ...
> Für die Frage WA01 wurde kein Item mit der Kennung 7 gefunden

WA01 ist Ihr Kontrollfrage, korrekt. Haben Sie darin 9 Items (mit den Platzhaltern als Text) angelegt und haben diese die Kennungen 1-9?

> und darunter alle 9 Optionen

Sie haben die Frage WA01 nur mittels question() eingebunden und *nicht* noch zusätzlich in den Fragebogen gezogen, ja?

> wobei diese aber auch nur den HTML Code der Aussagen und nicht die Aussage selbst anzeigen.

Dafür ändern Sie bitte die Zeile

replace('%option'.($i+1).'%', getTextelement($texte[$i]));

noch wie folgt:

replace('%option'.($i+1).'%', getTextelement($texte[$i]), 'html');
> WA01 ist Ihr Kontrollfrage, korrekt. Haben Sie darin 9 Items (mit den
   Platzhaltern als Text) angelegt und haben diese die Kennungen 1-9?

Genau, WA01 ist mein Fragentyp Zuordnungsaufgabe für die Kontrollgruppe (ich habe eine weitere Zuordnungsaufgabe dann für die Experimentalgruppe).
Ich hatte zuerst die Gesichter der Personen in den Items gehabt, da ich die als Stimuli anzeigen möchte und die 9 Platzhalter in jeweils eine Antwortkategorie eingefügt.

Ich habe es aber nun auch nochmal probiert, dass die Platzhalter %option1% bis %option9% in jeweils einem Textfeld der Items sind und dabei haben diese die Kennung 1-9 (aber was müsste dann in die Antwortkategorien?), wie Sie sagten. Leider werden immer noch alle Antwortkategorien angezeigt ..

>Sie haben die Frage WA01 nur mittels question() eingebunden und
  *nicht* noch zusätzlich in den Fragebogen gezogen, ja?

genau,  nur über den Befehl question()


> Dafür ändern Sie bitte die Zeile
  replace('%option'.($i+1).'%', getTextelement($texte[$i]));
   noch wie folgt:
   replace('%option'.($i+1).'%', getTextelement($texte[$i]), 'html');

Klasse ! Das hat schon mal funktioniert :)
noch eine kurze Ergänzung:

>Ich habe es aber nun auch nochmal probiert, dass die Platzhalter
  %option1% bis %option9% in jeweils einem Textfeld der Items sind und
  dabei haben diese die Kennung 1-9 (aber was müsste dann in die
  Antwortkategorien?), wie Sie sagten. Leider werden immer noch alle
  Antwortkategorien angezeigt ..

wenn ich die Platzhalter in den Items habe mit der Kennung 1-9 und zum Beispiel nichts für die Antwortkategorien bzw. 2 beliebige einfüge, dann scheint die Auswahl der korrekten Aussage und zwei "falscher"  zu funktionieren (werden als Stimuli angezeigt). Allerdings sollen die ja vorzugsweise als Antwortkategorien unter dem Gesicht einer Person erscheinen..
Ich war nicht sicher, ob Sie tatsächlich den Fragetyp "Zuordnungsaufgabe" meinen. Aber ich denke, das ist der Fall.

Das wird so nicht funktionieren, denn die Zuordnungsaufgabe zeigt bei allen Stimuli (Items) dieselben Optionen. Was Sie verwenden können sind entweder 9 separate Auswahlfragen - evtl. jeweils mit der Darstellung "Kärtchen" und mit automatischem "Weiter" wenn man eine Option auswählt. Für diesen Anwendungsfall ist der PHP-Code gedacht, den ich oben geschrieben habe.

Oder Sie verwenden eine Frage vom Typ "Auswahlabfolge" - aber dann wird es mit den Platzhaltern ein wenig komplexer, weil Sie dann für jede Teilfrage die Antwortoptionen in separate Platzhalter (also 9x3 = 27 Platzhalter) packen müssten.
Ah okay, dann würde ich es einmal mit dem ersten Vorschlag bezüglich der Auswahlfragen mit Kärtchen versuchen.
Könnte ich in diesen separaten Auswahlfragen dann jeweils den PHP-Code anpassen mittels R003_02, R003_03 etc. damit ich für jede Auswahlfrage eine andere Aussage als korrekt beziffern kann ?
Korrekt ... aber versuchen Sie es erstmal mit einer Frage und testen Sie, ob alles funktioniert. Auch ob Sie die Daten dann so in der Auswertung haben, dass Sie damit arbeiten können.
Ich habe es jetzt anhand einer Frage ausprobiert, und der Code funktioniert (vielen Dank schon mal dafür !) In den Daten wird mir die Kennung der Aussage angezeigt, die in der Auswahlfrage angeklickt wurde. Da ich die Reihenfolge in der internen Variable abgelegt habe, gehe ich im Moment davon aus, dass ich damit zuordnen kann, ob der Proband die richtige Aussage gewählt hat. Das muss ich mir aber zur Sicherheit nochmal genauer anschauen.
...