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

In meiner Studie sollen den Versuchspersonen nacheinander 20 Sets bestehend aus jeweils drei Wörtern präsentiert werden, (z.B. Hund, Kaninchen, Möhre). Die dazugehörige Frage soll lauten: "Welche zwei Begriffe gehören zusammen?" Schön wäre es wenn die Probanden dann auf zwei Begriffe klicken könnten und für unterschiedliche Kombinationen verschiedene Werte generiert werden (z.B. wenn Hund und Kaninchen -> Wert 1; wenn Kaninchen und Möhre -> Wert 2). Gibt es eine Möglichkeit dies umzusetzen? Oder eine ähnliche Alternative? Die Reaktionszeit spielt keine Rolle.

in SoSci Survey (dt.) by s111972 (150 points)

1 Answer

0 votes

Die können Sie mit einer Reihe von Mehrfachauswahl-Fragen realisieren. Legen Sie dafür pro Set eine Frage vom Typ "Mehrfachauswahl" an. Als Darstellung können Sie in der Frage "Kärtchen" wählen und 3 Spalten einstellen - dann erscheinen die Begriffe als Kärtchen nebeneinander und man kann sie besser anklicken.

Sie können in der Frage noch einstellen, dass genau 2 Optionen ausgewählt werden müssen (mindestens 2 und maximal 2). Mit ein wenig JavaScript ließe sich sogar noch dafür sorgen, dass es nach Auswahl von 2 Optionen automatisch weitergeht.

Schön wäre es wenn die Probanden dann auf zwei Begriffe klicken könnten und für unterschiedliche Kombinationen verschiedene Werte generiert werden

Dafür ergänzen Sie (z.B. nach der letzten solchen Frage) ein wenig PHP-Code, welcher die Punkte verteilt. Dafür müssen SIe lediglich das Punkteschema als Array definieren - im folgenden Beispiel gleich für mehrere Frage MA01 und MA02. DIe Kombination ist hier - der Einfachheit halber - als Text notiert, z.B. "13" für die Optionen 1 und 3.

Die Teilpunkte werden in einer internen Variable IV01 gespeichert. Die Frage "interne Variablen" hat so viele Variablen wie Sie Sets präsentieren (in diesem Beispiel also 2).

$punkte = array(
  'MA01' => array('12' => 1, '13' => 2, '23' => 0),
  'MA02' => array('12' => 2, '13' => 0, '23' => 1)
);
foreach (array_keys($punkte) as $i => $qst) {
  $num = $i + 1;
  $items = $punkte[$qst];
  // Welche Optionen wurden ausgewählt?
  $items = getItems($qst, '==', 2);
  // Zur Sicherheit nochmal sortieren
  sort($items);
  // Den "Code" erzeigen, also 1+3 => '13'
  $code = implode($items);
  // Den Punktwert auslesen und in der internen Variable speichern
  if (isset($punkte[$code])) {
    put(id('IV01', $num), $punkte[$code]);
  } else {
    // Falls mal eine Kombination in der Liste fehlt...
    put(id('IV01', $num), 'X'.$code);
  }
}
by SoSci Survey (130k points)
Vielen Dank! Das hilft mir schon sehr weiter! Wie genau ließe es sich mit Hilfe von JavaScript umsetzen, dass es bei Auswahl von zwei Optionen automatisch weitergeht?
> Wie genau ließe es sich mit Hilfe von JavaScript umsetzen, dass es bei Auswahl von zwei Optionen automatisch weitergeht?

Im Prinzip müsste nach jedem "click" Event gezählt und dann ggf. die Funktion SoSciTools.submitPage() aufgerufen werden. Das mit den Events sollte sich anhand der mit Auswahlfragen verbundenen JavaScript-Bibliothek auch recht einfach ermitteln lassen - wenn ich mir das genauere ansehen soll, posten Sie doch bitte dafür eine gesonderte Frage. JavaScript-Code in den Kommentaren ist denkbar schlecht les- und auffindbar.
Ich würde meine Fragen (Kategorisierungsaufgabe) und die jeweilige Items der Fragen gerne rotieren (also das die Probanden, die Fragen und Items in unterschiedlichen Reihenfolgen dargestellt bekommen). In der Ausgabe der Daten erscheinen dann jedoch in meiner internen Variable lauter X (für fehlende Kombination), was kann ich tun um in meiner internen Variable mir nach wie vor die definierten Punktwerte ausgeben zu lassen?
Eine Rotation sollte vom Punkt-Zählen unabhängig sein. Vielleicht möchten Sie das Problem in einer neuen Frage mal komplett mit Ihrem verwendeten Code posten?
...