0 votes
in SoSci Survey (dt.) by s279899 (120 points)

Hallo,

ich habe gerade eine Umfrage erstellt, in denen Personen Fragen zu zwei verschiedenen Szenarien beantworten sollen. Dabei soll sein

Gruppe 1: zuerst Block 1, dann Block 2
Gruppe 2: zuerst Block 2, dann Block 1
Gruppe 3: Randomisierte Zuordnung ob zuerst Block1 oder zuerst Block 2.

Ich habe bereits alle Blöcke sowie die Filtervariable (Zurordnung zur Gruppe 1, 2 oder 3) erstellt. Können Sie mir behilflich sein, wie ich hier nun weitermache? Mit den vorherigen Fragen komme ich leider nicht weiter.

Vielen Dank bereits für Ihre Hilfe!

1 Answer

0 votes
by SoSci Survey (327k points)

Sehen Sie sich bitte einmal die Anleitung Seiten rotieren an, dort wird die Funktion setPageOrder() verwendet. Diese können Sie auch für Ihre beiden "festen" Gruppen verwenden, um die gewünschte Reihenfolge vorzugeben.

Wenn Sie Ihren Code zur Filtervariable posten möchten, kann ich meine Antwort gerne noch ein wenig konkretisieren.

by SoSci Survey (327k points)
Sie haben das $seitenAHP_A in Anführrungszeichen stehen lassen:

'EinRB', $seitenAHP_B, 'KSB2, UB, EinRA, EinA2, CJA1-CJA9, AHPA, $seitenAHP_A, KSB2, DEM'

Korrekt wäre aber:

'EinRB', $seitenAHP_B, 'KSB2, UB, EinRA, EinA2, CJA1-CJA9, AHPA', $seitenAHP_A, 'KSB2, DEM'

Das Komma ist hier teilwese Teil des Strings, teilweise trennt es Parameter. Ohne Syntax.Highlighting ist das hier leider nicht ganz einfach zu sehen.
by s279899 (120 points)
Vielen, vielen herzlichen Dank! Nun funktioniert alles wunderbar, nachdem ich weitere setPageOrder() Befehle aus der Umfrage entfernt habe.

Lediglich die folgende Meldung steht unter dem PHP-code:
Warnung

Bitte beachten Sie, dass die von random() oder shuffle() erzeugten Zufallswerte nicht automatisch im Datensatz gespeichert werden. Zum Speichern können Sie ggf. die Funktion put() verwenden.

In meiner Auswertung später ist es nicht wichtig zu sehen an welcher Stelle welche Seite präsentiert wurde, lediglich die Antwort entsprechend zur Seite ist relevant.


Bei dem folgenden Code (siehe unten) ist es jedoch wichtig nachvollziehen zu können, welche Stimuli auf welcher Seite präsentiert wurden. Muss ich dazu noch etwas im Code hinzufügen?:

$zettel = 'ZA01x01';
$imgSRC = value($zettel, 'label');
$imgCode = value($zettel);

replace('%random1%', 'ZA01x01', 'response');

$zettel = 'ZA01x02';
$imgSRC = value($zettel, 'label');
$imgCode = value($zettel);

replace('%random2%', 'ZA01x02', 'response');

$zettel = 'ZA01x03';
$imgSRC = value($zettel, 'label');
$imgCode = value($zettel);

replace('%random3%', 'ZA01x03', 'response');
by SoSci Survey (327k points)
Sie sollten alle notwendigen Daten in ZA01x01 etc. haben. Aber ich empfehle dennoch dringend, dass Sie Ihre Daten einmal herunterladen und in die Auswertung schicken - je nach Statistikprogramm ist es zwischen sehr einfach (R) und furchbar unhandlich (SPSS) die Daten auf Basis der Zufallsvariablen so umzubauen, dass Sie sie für die Auswertung verwenden können.
by s279899 (120 points)
Vielen Dank! Ich habe die Datei nun heruntergeladen und mit put() bekomme ich die Informationen, die ich benötige.

Ich habe noch eine (hoffentlich letzte) Frage:

Ich habe den folgenden Code nun:

if (!isset($seitenAHP_B)) {
  $seitenAHP_B = array('AHP1B','AHP2B','AHP3B','AHP4B','AHP5B','AHP6B','AHP7B',
'AHP8B','AHP9B','AHP10B','AHP11B','AHP12B','AHP13B','AHP14B','AHP15B',);
  shuffle($seitenAHP_B);
  registerVariable($seitenAHP_B);
}

if (!isset($seitenAHP_A)) {
  $seitenAHP_A = array('AHP1A','AHP2A','AHP3A','AHP4A','AHP5A','AHP6A','AHP7A',
'AHP8A','AHP9A','AHP10A','AHP11A','AHP12A','AHP13A','AHP14A','AHP15A',);
  shuffle($seitenAHP_A);
  registerVariable($seitenAHP_A);
}



if (value('DE03') == 1) {
    question('ZA03');  // Zettel aus dem Zufallsgenerator ziehen
    $abfolge = value('ZA03');
} elseif (value('DE03') == 2) {
    $abfolge = 1;
} elseif (value('DE03') == 3) {
    $abfolge = 2;
}
debug($abfolge);

if ($abfolge == 1) {
    setPageOrder('EinRB, EinB2, CJB1-CJB9, AHP B', $seitenAHP_B, 'EINKSB, KSB2, UB, EinRA, EinA2, CJA1-CJA9, AHPA', $seitenAHP_A, 'EINKSA, KSA2', 'DEM');
} else {
    setPageOrder('EinSA-AHPA', $seitenAHP_A, 'EINKSA, KSA2, UB,  EinSB, EinB2, CJB1-CJB9', $seitenAHP_B, 'EINKSB, KSB2, DEM');
}

Allerdings sollen bei value('DE03')==1 in beiden Fällen die folgenden Seiten ausgetauscht werden:
EinSB = EinLB
EinRA = EinLA
EinSA = EinLA
EinSB = EinLB

Ich habe bereits versucht die Seiten mit in setPageOrder() zu nehmen und sie in der Variable DE03 über einen Filter entsprechend auszublenden. Leider funktioniert dies nicht, sondern die Seite wird in keiner Bedingung mehr angezeigt. Kann ich dies ggf. in den Befehl mit einbeziehen?

Dankeschön erneut!
by SoSci Survey (327k points)
> Allerdings sollen bei value('DE03')==1 in beiden Fällen die folgenden Seiten ausgetauscht werden

Wenn ich Sie korrekt verstehe, gibt es nicht nur 2 Abfolgen, sondern eigentlich 4. Ich würde empfehlen, dass Sie das wie fogllgt umsetzen (hier nur der hintere Teil).

if (value('DE03') == 1) {
    question('ZA03');  // Zettel aus dem Zufallsgenerator ziehen
    $abfolge = value('ZA03');
} elseif (value('DE03') == 2) {
    $abfolge = 3;
} elseif (value('DE03') == 3) {
    $abfolge = 4;
}
debug($abfolge);


if ($abfolge == 1) {
    setPageOrder('EinRB, EinB2, CJB1-CJB9, AHP B', $seitenAHP_B, 'EINKSB, KSB2, UB, EinRA, EinA2, CJA1-CJA9, AHPA', $seitenAHP_A, 'EINKSA, KSA2', 'DEM');
} elseif ($abfolge == 3) {
    setPageOrder('EinRB, EinB2, CJB1-CJB9, AHP B', $seitenAHP_B, 'EINKSB, KSB2, UB, EinRA, EinA2, CJA1-CJA9, AHPA', $seitenAHP_A, 'EINKSA, KSA2', 'DEM');
} elseif ($abfolge == 2) {
    setPageOrder('EinSA-AHPA', $seitenAHP_A, 'EINKSA, KSA2, UB,  EinSB, EinB2, CJB1-CJB9', $seitenAHP_B, 'EINKSB, KSB2, DEM');
} else {
    setPageOrder('EinSA-AHPA', $seitenAHP_A, 'EINKSA, KSA2, UB,  EinSB, EinB2, CJB1-CJB9', $seitenAHP_B, 'EINKSB, KSB2, DEM');
}

Ich finde in den Listen aktuell nur die "EinSB" - die würden Sie in Abfolge 2 gegen "EinLB" tauschen, nicht aber in Abfolge 4 (else-Teil). Eventuell müssen Sie Seitenbereich in den Abfolgen 1 und 2 noch auseinandernehmen, damit Sie die Seiten austauschen können.

Alternativ können Sie auf den betroffenen Seiten einfach nur per PHP-Filter die entsprechenden Fragen austauschen.

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

...