0 votes
in SoSci Survey (dt.) by s082930 (140 points)
closed by s082930

Hallo,

ich habe eine Frage mit 6 Items (BI02_01 - BI02_06) und möchte diese 6 Items randomisieren. Außerdem möchte ich die randomisierte Reihenfolge mit einer internen Variable (IV01_01 - IV01_06) speichern, sodass ich nach der Datenerhebung rekonstruieren kann, in welcher Reihenfolge die Items angezeigt wurden.

Mittlerweile wird mir kein Fehlercode mehr angezeigt, allerdings passt die von mir aufgeschriebene Anordnung nie mit der gespeicherten IV überein oder ich verstehe nicht, was die IV mir angibt. Es gab bereits einen ähnlichen Post, aber der ha t leider auch nicht ganz weitergeholfen.

Das ist mein Code:

if (!isset($itemsBI)) {
  $itemsBI = getItems('BI02', 'all');
  shuffle($itemsBI);
  registerVariable('itemsBI');
}

for ($i=0; $i<count($itemsBI); $i++) {
  // Kennung der internen Variable aus Frage-Kennung plus Inhalt des Elements (!) erstellen
  $id = id('IV01',  $i + 1);
  // Hier den Rang speichern
  put($id, $itemsBI[$i]);
}

Ich wäre sehr dankbar für Hilfe!

closed with the note: solved

1 Answer

0 votes
by SoSci Survey (304k points)

Ich gehe einmal davon aus, dass unter Item Code noch folgende Zeile steht, um die Frage auch mit der gewürfelten Item-Abfolge anzuzeigen:

question('BI02', $itemsBI);

Ihr Code speichert aktuell in IV01_01, welches Item an erster Stelle angezeigt wurde, in IV01_02, welches Item an zweiter Stelle angezeigt wurde.

Alternativ kann man auch Ränge speichern. Dann müssten Sie den anderen Code aus der Anleitung verwenden. In IV01_01 würde dann gespeichert, an welcher Position das Item BI02_01 angezeigt wurde.

by s082930 (140 points)
Vielen Dank für die Antwort. Ja, der Teil des Codes steht auch noch dabei, entschuldigung.

Davon wäre ich ausgegangen, aber wie gesagt ist es nicht das, was gespeichert wird. Bei diversen Probedurchgängen ist IV01_01 nie das Item, das als erstes angezeigt wurde. Da es nur wenige Items sind, ist es relativ egal für mich, ob ich den Rang oder die Stelle speichere, ich hätte nur gerne, dass es mit dem tatsächlich gezeigten Item übereinstimmt..

Ihrer Meinung nach ist aber kein Fehler in dem Code, habe ich das richtig verstanden?

Herzlichen Dank
by SoSci Survey (304k points)
Ja, korrekt. Bitte ergänzen Sie einmal folgende Zeile vor dem question() ...

debug($itemsBI);

Starten Sie dann mit dem gelben Pfeil im Debug-Modus und psoten Sie (a), was als Inhalt der Variable $itemsBI angezeigt wird und (b), was in der Debug-Information rechts oben angezeigt wird.
by s082930 (140 points)
a)Wo finde ich das heraus?
b)Das wird mir als Hinweis im gelben Feld angezeigt (ich kann leider keinen Screenshot einfügen):
Debug-Information für $itemsBI:
0(in grau und hochgestellt)4(in orange und fett), 1(s. o.)6, 21, 33, 42, 55
by SoSci Survey (304k points)
Okay, wenn Sie die Array-Indices (grau hochgestellt, einfach 0..5) einmal weglassen heißt das: DIe Items wurde in der Reihenfolge 4,6,1,3,2,5 angezeigt. und jetzt bräuchten wir noch die passende Debug-Information, s. https://www.soscisurvey.de/help/doku.php/de:create:debugging#debug-information
by s082930 (140 points)
alles klar
a)
[Information]    Interview gestartet (neue Nummer 163)
[Information]    Der Fragebogen base im Projekt Lehramt_Paeps wird verwendet
[Verarbeitung]    Erstelle Fragebogen-Seite Nr. 7
[Inhalt]    Zeige Text Ue_Biologie
[Information]    Antwort auf IV01_01 = 1
[Information]    Die interne Variable IV01_01 wird mit dem Wert 1 belegt.
[Information]    Antwort auf IV01_02 = 4
[Information]    Die interne Variable IV01_02 wird mit dem Wert 4 belegt.
[Information]    Antwort auf IV01_03 = 3
[Information]    Die interne Variable IV01_03 wird mit dem Wert 3 belegt.
[Information]    Antwort auf IV01_04 = 6
[Information]    Die interne Variable IV01_04 wird mit dem Wert 6 belegt.
[Information]    Antwort auf IV01_05 = 5
[Information]    Die interne Variable IV01_05 wird mit dem Wert 5 belegt.
[Information]    Antwort auf IV01_06 = 2
[Information]    Die interne Variable IV01_06 wird mit dem Wert 2 belegt.
debug()    Inhalt: 01, 14, 23, 36, 45, 52
[Inhalt]    Erstelle Frage BI02

b) Debug-Information für $itemsBI:
1, 4, 3, 6, 5, 2

Das Problem ist nach wie vor, dass die angezeigte Reihung nicht mit der Nummerierung der Items übereinstimmt. Das an erster Stelle dargestellte Item ist nicht mein erstes Item. Dahingegen ist das an zweiter Stelle dargestellte mein viertes Item. Die Systematik erschließt sich mir nicht.
by SoSci Survey (304k points)
Haben Sie die Item-Kennungen mal direkt in der Frage überprüft - in eckigen Klammern bei der Item-Eingabe. Sind diese vielleicht nicht von 1..6, sondern anders nummeriert?

Haben Sie in der Frage zusätzlich noch eine Rotation eingestellt ("Items sortieren")? Das sollte den question()-Befehl zwar eigentlich nicht "überschreiben", aber eine Kontrolle wäre es dennoch wert.

Wie genau lautet Ihr Befehl, mit dem Sie die Frage anzeigen/einbinden?
by s082930 (140 points)
Vielen Dank, es lag an der zusätzlichen Rotierung der Items! Jetzt funktioniert alles :)
Beste Grüße

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

...