0 votes
in SoSci Survey (dt.) by s281652 (115 points)
reshown ago by s281652

Hallo,

ich habe insgesamt 8 verschiedene kurze Fragentexte (Ta, Tb, Da, Db, Pa, Pb, Ka, Kb), die in folgenden vier Kombination auftreten können, es gibt also vier Experimentalgruppen:

1: Ta, Db, Pa, Kb

2: Tb, Da, Pa, Kb

3: Ta, Db, Pb, Ka

4: Tb, Da, Pb, Ka

Ich habe bereits die Fragen in vier Rubriken zusammengefasst.
Leider finde ich keine Möglichkeit, wie ich die Rubriken radomisieren kann. Zusätzlich sollte es noch eine zufällige Reihenfolge der Darstellung der Fragen geben.

Wie kann ich das am besten umsetzen? Ich freue mich über jegliche Hilfe!

1 Answer

+1 vote
by SoSci Survey (306k points)

Ob die Aufteilung in 4 Rubriken sinnvoll ist, kann ich hier nicht pauschal sagen - aber wahrscheinlich wäre es sinnvoll, wenn Sie in der Liste nicht Ihre internen Kürzel eintragen, sondern gleich die Kennungen der Fragen bzw. Texte.

Sie können Ihre Liste dann mehr oder weniger direkt in einen Zufallsgenerator speichern, und eine Zeile daraus ziehen. Die müssen Sie dann nur noch via value(..., 'csv') auslesen, und jeweils die passende Frage anzeigen.

Ob Sie die Rotation dann noch über ein Array und shuffle() erledigen, über einen zweiten Zufallsgenerator und setPageOrder(), oder ob Sie einfach für jede Gruppe 24 Zeilen in den Zufallsgenerator legen, das kommt ein wenig auf Ihre Teilnehmerzahl an.

by s281652 (115 points)
edited by s281652
Vielen Dank für die schnelle Antwort, damit habe ich garnicht gerechnet!

Mein aktueller Code ist jetzt folgender:

$fragen = valueList('V121', NULL, 'label');

// Zuordnung zu Experimentalgruppen
$groups = array(
    1 => array('V105', 'V114', 'V106', 'V109'),
    2 => array('V110', 'V118', 'V106', 'V109'),
    3 => array('V105', 'V114', 'V115', 'V120'),
    4 => array('V110', 'V118', 'V115', 'V120'));


$kennung = loopPage($groups);
question($kennung);

Das funktioniert leider nicht. Wie kann ich den eine der Listen ziehen? Und leider bin ich mir auch unsicher, wie ich die Liste im Zufallsgenerator speichern kann.
by SoSci Survey (306k points)
Sie möchten "nur" eine der viel Zeilen aus $groups ziehen, und die Fragen dann in dieser Reihenfolge anzeigen, korrekt? Meine Empfehlung wäre immer noch, dass Sie diese Liste/Kennungen direkt in den Zufallsgenerator legen. In jedem Fall dürfen Sie aber nur einen Code pro Interview ziehen. Womöglich haben Sie das so eingestellt - aber die Verewndung von valueList() deutet darauf hin, dass Sie mehrere Werte ziehen.

Ihr Code angepasst wäre dann:

$ziehung = value('V121');
$groups = array( ...);
$kennung = loopPage($groups[$ziehung]);
question($kennung);

Die wesentliche Änderung ist also, dass Sie nicht $groups für loopPage() verwenden, sondern nur eine Zeile daraus, nämlich $groups[$ziehung]
ago by s281652 (115 points)
Ja genau, das wäre mein Ziel!! Wie genau könnte ich denn die Liste in den Zufallgenerator eingeben? Wenn ich nur mit Komma trenne, klappt das ja nicht? Aktuell habe ich dort einfach die Fragenkennungen angegeben, sodass in der Urne:
1 = V105
2 = V114
3 = V106
4 = V109
5 = V110
6 = V118
7 = V115
8 = V120
steht.
ago by SoSci Survey (306k points)
> Wie genau könnte ich denn die Liste in den Zufallgenerator eingeben?
> Wenn ich nur mit Komma trenne, klappt das ja nicht?

Doch, genau das, also

V105, V114, V106, V109
V110, V118, V106, V109

u.s.w.

Und dann im PHP-Code:

$fragen = value('V121', 'csv');
$kennung = loopPage($fragen);
question($kennung);
ago by s281652 (115 points)
edited ago by s281652
Ahhh, vielen vielen Dank!! Das hat endlich geklappt!
ago by s281652 (115 points)
Jetzt habe ich leider noch eine letzte Frage, wie habe ich die Möglichkeit, die Reihenfolge der Randomisierung zu speichern? Was genau müsste ich in den Befehl put() einsetzen? Eine Interne Variable V122 habe ich schon mit 4 Variablen angelegt...

$fragen = value('V121', 'csv');
shuffle($fragen);
$kennung = loopPage($fragen);
question($kennung);
ago by SoSci Survey (306k points)
> Eine Interne Variable V122 habe ich schon mit 4 Variablen angelegt...

Probieren Sie es erstmal hiermit:
putList('V122', $fragen);

Und dann prüfen Sie im Datensatz, ob das das Format ist, mit dem Sie in der Auswertung arbeiten können. Wenn nicht, lesen Sie bitte die Anleitung zu put(), dort wird auch die Option erklärt, Ränge zu speichern.

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

...