0 votes
in SoSci Survey (dt.) by s099284 (110 points)

Liebes SosciSurvey-Team,

für meine Masterarbeit muss ich eine Mehrfachauswahl (4 mögliche Auswahloptionen) mit einem Zufallsgenerator verbinden, um einen (aus 4 möglichen) Fragebögen an die Teilnehmer zuzuordenen.

  • bei nur einer gewählten Antwort werden die für diese spezifische Antwort ausgewählten Fragen im Anschluss an die Mehrfachauswahl auf anderen Seiten gezeigt
  • bei zwei gewählten Antworten wird per Zufallsgenerator eine dieser Optionen ausgewählt und die dazugehörigen Fragen auf anderen Seiten angezeigt
  • bei drei wird eine aus drei zufällig ausgewählt
  • bei allen (also vier) eine zufällig aus diesen vier

Ich kann leider auch keine vier verschiedenen Fragebögen erstellen, weil das für mein Untersuchungsthema keinen Sinn ergibt. Ich benötige einen Fragebogen mit vier unterschiedlichen "Pfaden", die zufällig (aber in Abhängigkeit von den Antworten auf die Mehrfachauswahl) den Teilnehmern zugeteilt werden.

Ist es überhaupt möglich dies mit PHP zu programmieren? Und wenn ja, welche Funktionen muss ich in welcher Reihenfolge in den Fragebogen einbauen? Ich konnte dazu leider nichts in der Anleitung finden, oder habe eventuell nicht an der richtigen Stelle nachgesehen.
Vielen Dank im Voraus.

LG

1 Answer

0 votes
by SoSci Survey (327k points)

Ein Zufallsgenerator ist für den beschrieben Fall nur bedingt hilfreich. Dieser ist v.a. dann nützlich, wenn man die verschiedenen Bedingungen gleich häufig ziehen muss - aber wenn Sie es ohnehin mit einer Auswahl kombinieren, kommen Sie da nicht weit: Was öfter gewählt wird, werden Sie auch häufiger im Datensatz haben, wenn Sie eine zufällige Auswahl verwenden.

Im Prinzip können Sie also einfach eine Liste (Array) mit den gewählten Optionen erstellen mittels getItems(), diese mittels shuffle() mischen und dann das erste Element der Liste verwenden.

if (!isset($item)) {
  $items = getItems('AB01', 'is', 2);
  shuffle($items);
  if (count($items) > 0) {
    $item = $items[0];
  } else {
    $item = -1;
  }
  put('IV01_01', $item);
  registerVariable($item);
}

Und überlegen Sie bitte, ob Sie wirklich unterschiedliche Pfade im Fragebogen haben möchten - dafür verwenden Sie setPageOrder() - oder ob Sie dieselben Seiten haben und nur einige Inhalte austauschen. Letzteres ist meist übersichtlicher.

by s099284 (110 points)
Vielen Dank für Ihre schnelle und sehr hiflreiche Antwort.

Da ich leider noch keine Erfahrung mit Programmieren habe, habe ich allerdings noch einige Fragen:
- Wie erstelle ich mittels getItems ein Array? Bezieht sich die zweite Zeile Ihres Codes auf eine bestimmte ausgewählte Antwortmöglichkeit (2), oder auf die Anzahl der ausgewählten Antworten insgesamt?

- Was genau bewirkt die Funktion put in diesem Zusammenhang? Muss ich für jede einzelne Antwortmöglichkeit eine interne Variable erstellen?

- Füge ich bei "Fragebogen erstellen" den PHP-Code vor oder nach der Frage ein, oder erst auf einer neuen Seite im Fragebogen?

- Ich würde gerne nur einige Inhalte austauschen, bin mir aber nicht sicher, ob ich schaffe, das zu programmieren. Wie verknüpfe ich denn allgemein die ausgewählte Antwort mit den dazugehörigen Seiten bzw. Fragen?
by SoSci Survey (327k points)
Eine vollständige Erklärung des Befehls getItems() finden Sie in der Anleitung. Der Befehl liefer immer ein Array (also eine Werte-Liste) als Ergebnis zurück.

put() ist in der Anleitung zu internen Variablen ausführlich dokumentiert. Der Befehl speichert einfach einen Wert im Datensatz.

>  Wie verknüpfe ich denn allgemein die ausgewählte Antwort mit den dazugehörigen Seiten bzw. Fragen?

Das kommt auf den konkreten Anwendungsfall an. Vielleicht beschreiben Sie diesen (inkl. der Variablen- und Seitenstruktur) in einer neuen Frage? Sonst wird es hier ein wenig unübersichtlich.

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

...