0 votes
in SoSci Survey (dt.) by s274985 (130 points)
edited by s274985

Hallo zusammen,

für meine Studie brauche ich mehrere Randomisierungen.
Eine Versuchsperson sieht jeweils 8 Kurzgeschichtenbeschreibungen. Diese habe ich als Texte in eine Rubrik angelegt. Diese werden jeweils auf einer Seite mit einer Charakterbeschreibung des Protagonisten angezeigt. Es soll immer eine Charakterbeschreibung mit einer zufälligen Kurzgeschichtenbeschreibung kombiniert werden, ohne dass eine der letzteren doppelt vorkommt.

Die Charakterbeschreibungen werden in 2 Blöcken a 4 Beschreibungen angezeigt. Es soll randomisiert werden, ob eine Versuchsperson Block A oder Block B zuerst angezeigt wird.
Außerdem sollen die Seiten innerhalb des Blocks zufällig rotiert werden.
Die Seiten SH1 und H1, wie im PHP Code definiert, sind dabei Instruktionen zu den verschiedenen Blocks, sie sollen immer vor dem jeweiligen Block stehen.

Für letzteres habe ich bisher pro Charakterbeschreibung eine Seite erstellt. Dann habe ich bereits 3 Zufallsgeneratoren angelegt.
ZG1 spezifiziert, welche Seiten zu welchem Block gehören:
1 = SH2, SH3, SH4, SH5
2 = H2, H3, H4, H5

ZG2 mit dem Inhalt für Block 1:
1 = SH2
2 = SH3
3 = SH4
4 = SH5

ZG3 mit dem Inhalt für Block 2:
1 = H2
2 = H3
3 = H4
4 = H5

eingebunden habe ich diesen PHP Code:
$blockfolge = array_values(valueList('ZG01'));
$blocks = [
1 => valueList('ZG02', null, 'label'),
2 => valueList('ZG03', null, 'label')

];
$gesamtliste = array_merge(
['SH1'],
$blocks[$blockfolge[0]],
['H1'],
$blocks[$blockfolge[1]],

);
setPageOrder($gesamtliste, 'AUSWAHL');

AUSWAHL ist die Kennung der Seite, bei der es nach den Blocks weitergeht.
Ich habe zwei Fragen:

  1. Das Rotieren der Seiten funktioniert nicht. Wenn ich es teste, sehe ich immer nur die Instruktion SH1 vor Block 1, egal wie oft ich weiterklicke. Was kann ich tun?

  2. Wie kann ich hinzufügen, dass zu der Block bzw. Seitenrandomisierung noch die zufällige Auswahl bzw Abfolge der 8 Kurzgeschichtenbeschreibungen auf der Seite erfolgt?

1 Answer

0 votes
by SoSci Survey (305k points)

Das Rotieren der Seiten funktioniert nicht.

Der Code sieht auf den ersten Blick korrekt aus. Ergänzen Sie bitte mal folgende Zeilen und posten Sie dann die Debug-Information, die angezeigt wird:

debug($blockfolge);
debug($blocks);
debug($gesamtliste);

zufällige Auswahl bzw Abfolge der 8 Kurzgeschichtenbeschreibungen

Legen Sie noch einen weiteren Zufallsgenerator mit den 8 Beschreibungen (oder den Text-IDs selbiger) an, ziehen Sie pro Interview alle 8 Zettel, und zeigen Sie auf der erste Seite die erste gezogene Text-ID, auf der zweiten die zweite u.s.w.

by s274985 (130 points)
Hier die Debug-Informationen:
Hinweis (Seite 6)
Debug-Information für $blockfolge:
01, 12
Debug-Information für $blocks:
[1]    [ZG02x01]SH3    [ZG02x02]SH2    [ZG02x03]SH5    [ZG02x04]SH4
[2]    [ZG03x01]H5    [ZG03x02]H3    [ZG03x03]H2    [ZG03x04]H4
Debug-Information für $gesamtliste:
0SH1, ZG02x01SH3, ZG02x02SH2, ZG02x03SH5, ZG02x04SH4, 1H1, ZG03x01H5, ZG03x02H3, ZG03x03H2, ZG03x04H4

Bezüglich der 2. Frage: Wie kann ich auf der ersten Seite die erste gezogene Text-I-D anzeigen usw.? Welchen PHP Code muss ich verwenden und wo muss ich diesen genau platzieren?
by SoSci Survey (305k points)
Sie können die Zeilen

$blocks = [
    1 => valueList('ZG02', null, 'label'),
    2 => valueList('ZG03', null, 'label')
];

noch wie folgt anpassen

$blocks = [
    1 => array_values(valueList('ZG02', null, 'label')),
    2 => array_values(valueList('ZG03', null, 'label'))
];

> Wie kann ich auf der ersten Seite die erste gezogene Text-I-D anzeigen usw.?

Wie heißt denn Ihr Zufallsgenerator? Wenn er RG01 hieße, dann z.B. so:

$textID = value('RG01x1')
text($textID);
by s274985 (130 points)
edited by s274985
Leider funktioniert dieser Code auch nicht. Ich sehe nur die Instruktion "SH1".
Vielleicht habe ich einen Denkfehler? Es soll für jeden Teilnehmer randomisiert werden, ob Block 1 oder Block 2 zuerst angezeigt wird. Vor Block 1 soll immer die Instruktion SH1 kommen und vor Block 2 immer die Instruktion H1. Es gibt also die Möglichkeiten:
VP1:
SH1-Block1-H1-Block2

VP2:
H1-Block2-SH1-Block1

Zusätzlich werden die Seiten innerhalb von Block 1 und Block 2 jeweils randomisiert.
>Wie heißt denn Ihr Zufallsgenerator? Wenn er RG01 hieße, dann z.B. so:

$textID = value('RG01x1')
text($textID);

Mein ZG heißt ZG04. Muss ich diesen PHP Code auf jeder Seite platzieren oder nur einmal?
Ginge auch folgender Code:
$fragen = valueList('ZG04', NULL, 'label');
 
$kennung = loopPage($fragen);
question($kennung);
by s274985 (130 points)
edited by s274985
Ich habe das richtige Rotieren der Seiten mit den Zwischeninstruktionen geschafft!
Leider hänge ich immer noch an den zufälligen Texten.
Ich habe es mit Ihrem Code versucht:
$textID = value('ZG04x01');
text($textID);

jedoch erscheinen dann folgende Fehlermeldungen beim Testen der Seite:
"Es existiert kein Text mit der Kennung 2"
Es erscheinen folgende Debug-Informationen:
[Information]    Interview gestartet (neue Nummer 44)
[Information]    Der Fragebogen qnr4 im Projekt moralischeVergleiche wird verwendet
[Verarbeitung]    Erstelle Seite 3 in Fragebogen qnr4
[Inhalt]    Erstelle Frage CB01
[Inhalt]    Erstelle Frage ZG04
[Information]    Vom Zufallsgenerator ZG04 wurden folgende Codes gezogen: 2, 7, 3, 8, 5, 6, 4, 1
[Information]    value("ZG04x01") = 2
by SoSci Survey (305k points)
> "Es existiert kein Text mit der Kennung 2"

Ja, stimmt ja, da war noch was. Und zwar brauchen Sie natürlich den Text (Label) aus dem Zufallsgenerator, nicht den Code. Also

$textID = value('ZG04x01', 'label');
text($textID);

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

...