0 votes
in SoSci Survey (dt.) by s169543 (185 points)
edited by s169543

Liebes SoSci-Survey-Team,
In meinem Fragebogen sollen die Versuchspersonen verschiedene Sätze bewerten. Diese Sätze sollten in randomisierter Reihenfolge präsentiert werden. Leider sind es ca. 200 Sätze, sodass ich die Items über mehrere Fragen mischen muss.
Ich bin Ihrer Anleitung im Internet gefolgt und soweit funktioniert auch alles. Allerdings würde ich gerne noch einige Details ändern:

  1. Ich würde gerne die Skala alle 10 Items wiederholen lassen. Das versuche ich momentan mit dem Zusatz „ancher“ im Befehl question – allerdings scheint das nicht zu funktionieren, da immer noch über jedem Item die Skala zu sehen ist. Ein komplettes Ausblenden mit ancher = none klappt jedoch.

  2. Zudem würde ich gerne (für den Notfall) die Reihenfolge speichern. Da es nur für „den Notfall“ gedacht ist, würde die Speicherung in einer Variablen genügen. Daher habe ich mit dem Befehl implode gearbeitet. Leider speichert er nur die letzten 33 Items. Das liegt bestimmt daran, dass ich mit loopPage arbeite und er einfach die Items der letzten Seite speichert. Wie könnte ich den Code ändern?

  3. Beim Testen des Fragebogens wird mir zusätzlich die Warnung „Sie speichern Zusatz-Daten (%itemBlocks_A%) mit mehr als 2 KB in diesem Interview. Bitte verwenden Sie für umfangreiche Platzhalter den Befehl show() anstatt replace().“ Angezeigt. Bezieht sich die Warnung nur auf den Befehl replace() (den ich nicht nutze) oder muss ich sonst noch etwas beachten?

Schon im Voraus vielen Dank für Ihre Hilfe!

Mein momentaner Code:

if (!isset($itemBlocks_A)) {
  $questions_A = ['ST01', 'ST02', 'ST03', 'ST04'];
  // Liste mit allen Items erstellen
  $items_A = [];
  foreach ($questions_A as $qstID_A) {
    $qstItems_A = getItems($qstID_A, 'all');
    foreach ($qstItems_A as $itemID_A) {
      $items_A[] = [$qstID_A, $itemID_A];
    }
  }
  // Liste mischen
  shuffle($items_A);
 
  // Liste aufteilen
  $itemBlocks_A = array_chunk($items_A, 33);
  registerVariable($itemBlocks_A);
}
 
// Auf mehreren Seiten präsentieren
$i = loopPage(count($itemBlocks_A));
 
// Fragetext anzeigen
question('ST01', 'spacing=0', 'show-items=no');
 
// Items anzeigen
$items_A = $itemBlocks_A[$i];
foreach ($items_A as $item_A) {
  question($item_A[0], [$item_A[1]], 'spacing=0', 'show-title=no', 'show-explanation=no', 'anchor=10');
}



// Reihenfolge speichern
$save_A = [];
for ($i=0; $i<count($items_A); $i++) {
array_push($save_A, $items_A[$i][0]);
array_push($save_A, $items_A[$i][1]);
}

$saveString_A = implode (',', $save_A);
put('IV01_01', $saveString_A);

1 Answer

0 votes
by SoSci Survey (303k points)
selected by s169543
 
Best answer

Ich würde gerne die Skala alle 10 Items wiederholen lassen. Das versuche ich momentan mit dem Zusatz „ancher“ im Befehl question

Schonmal gut gedacht. Deaktivieren Sie die Kopfzeile bitte in der Frage - und blenden Sie sie dann bei jedem zehnten Item mittels anchor wieder ein.

foreach ($items_A as $n => $item_A) {
  if (($n % 10) == 1) {
    question($item_A[0], [$item_A[1]], 'spacing=0', 'show-title=no', 'show-explanation=no', 'anchor=1');
  } else {
    question($item_A[0], [$item_A[1]], 'spacing=0', 'show-title=no', 'show-explanation=no');
  }
}

Zudem würde ich gerne (für den Notfall) die Reihenfolge speichern.

Speichern Sie die Reihenfolge noch bevor Sie das Ganze in 3 Blöcke zerlegen. Die Variable $items_A können Sie unten nicht mehr verwenden, weil Sie ja nur $itemBlocks_A mittels registerVariable() zwischenspeichern.

shuffle($items_A);
$save_A = [];
for ($i=0; $i<count($items_A); $i++) {
  $save_A[] = $items_A[$i][0].'_'.$items_A[$i][1];
}
put('IV01_01', implode (',', $save_A));

Beim Testen des Fragebogens wird mir zusätzlich die Warnung „Sie speichern Zusatz-Daten (%itemBlocks_A%) mit mehr als 2 KB in diesem Interview.

Ja, Sie haben da wirklich viele Daten. Man könnte das noch reduzieren, wenn man die Frage nur als Code ablegt ... aber ich glaube im vorliegenden Fall wäre das unnötig kompliziert. Insofern ignorieren Sie die Warnung bitte geflissentlich.

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

...