0 votes
in SoSci Survey (dt.) by s156256 (135 points)

Hallo zusammen,

ich brauche wieder Hilfe, weil meine ursprüngliche Lösung nicht so funktioniert wie ich mir das gedacht habe.

Ich versuche die Reihenfolge von meinen Stimuli zu rotieren.
Das Ziel ist, dass 16 Bilder in einer Auswahlaufgabe gezeigt werden und nach jedem Bild eine Frage auf der nächsten Seite gezeigt wird. Dabei ist die Schwierigkeit, dass es jedes Bild in Version a und b gibt und bei 8 Bildern Version a öfter und bei den anderen 8 Bildern Version b öfter gezeigt werden soll.

Meine Lösung wäre es, das über Zufallsgeneratoren zu lösen. Ich habe einen erstellt der mir eine Zufallszahl von 1-16 ausgibt, um die Reihenfolge zufällig zu ziehen. Und einen weiteren Zufallsgenerator, der pro Bild eine Version auswählt.
Ich dachte ich könnte mit dem Ergebnis von Zufall 1 zu einem Bild springen, damit dieses bearbeitet wird, dann die Frage dazu bearbeitet wird und anschließend wieder zurück zu dem Zufall 1 damit er eine andere der verbleibenen 15 Zahlen auswerfen kann (wegen ziehen ohne zurücklegen). Ich weiß, dass das nicht elegant ist, aber solange es am Ende funktioniert, bin ich bereit den Fragebogen so zu konzipieren.

Meine Fragen:
Wenn ich den Zufall 1 auf mehr als einen Zettel pro Interview einstelle, bekomme ich den Fehler, dass die Variable nicht existiert. Ich dachte, wenn ich mehrere Zettel einstelle, würde er innerhalb des Experiments die Zettel nacheinander bearbeiten.

Gibt es bei SoSci Survey die Unterscheidung, dass ein Zufallsgenerator innerhalb eines Fragebogens gleichverteilt ziehen soll? (Ich dachte in abgeschlossenen Fragebögen, aber meine Recherche lässt mich daran zweifeln)

Vielen Dank

by SoSci Survey (306k points)
> Das Ziel ist, dass 16 Bilder in einer Auswahlaufgabe gezeigt werden und nach jedem Bild eine Frage auf der nächsten Seite gezeigt wird.

Wie sieht die Auswahlaufgabe aus (zeigt diese ein Bild oder mehrere/alle)?

> bei 8 Bildern Version a öfter und bei den anderen 8 Bildern Version b öfter gezeigt werden soll.

Was genau heißt "öfter"?

> Ich dachte ich könnte mit dem Ergebnis von Zufall 1 zu einem Bild springen, damit dieses bearbeitet wird, dann die Frage dazu bearbeitet wird und anschließend wieder zurück zu dem Zufall 1 damit er eine andere der verbleibenen 15 Zahlen auswerfen kann

Nicht so ganz... Sie würden alle 16 ziehen und dann diese Liste abarbeiten.

> Wenn ich den Zufall 1 auf mehr als einen Zettel pro Interview einstelle, bekomme ich den Fehler, dass die Variable nicht existiert.

Wenn Sie mehrere Zettel ziehen, heißen die Variablen anders (s. Karteikarte "Variablen" in der Frage).
by s156256 (135 points)
[Original Post mit Ablauf][1]

Die Auswahlaufgabe zeigt ein Bild das mittels zwei Kärtchen als geeignet oder ungeeignet bewertet werden soll

Die Bilder sollen zu 75% als korrekt geeignet (=1a, 2a,3a...) oder auch korrekt ungeeignet (9b,10b,11b..) präsentiert werden.

Ist es mit dieser Liste oder den neuen Variablen möglich die Reihenfolge in dem Experiment festzulegen? Wenn mir Zufall eine Liste gibt, die ich dann abarbeiten lassen könnte, könnte ich den Ablauf damit realisieren. Was nicht ginge wäre, wenn ich ein array mit allen möglichen Kombinationen definieren müsste.

Viele Grüße
Tim


  [1]: https://support.soscisurvey.de/?qa=25866/fragebogenstruktur-bei-zuordnungsexperiment

1 Answer

+1 vote
by SoSci Survey (306k points)

Ich würde folgendes Vorgehen empfehlen:

  • Für die Rotation können Sie einen Zufallsgenerator verwenden, der 16 aus 16 Zetteln zieht.
  • Für die Zuordnung der Varianten legen Sie zwei Arrays mit den Zahlen 1 und 2 an. Dabei steht 1 für Variante A und 2 für Variante B. Jedes Array muss 8 dieser Zahlen enthalten (im passenden Verhältnis).
  • Beide Arrays mischen Sie mittels shuffle().

Ich gehe einmal davon aus, dass die Bilder 1-8 das Verhältnis (A) und die Bilder 9-16 im Verhältnis (B) angezeigt werden sollen. Weiter nehme ich an, dass der Zufallsgenerator die Kennung RG01 hat. Das könnte dann so aussehen.

question('RG01');
if (!isset($variants)) {
  $list1 = [1,1,1,1,1,1,2,2];
  $list2 = [1,1,2,2,2,2,2,2];
  shuffle($list1);
  shuffle($list2);
  $variants = array_merge($list1, $list2);
}

$images = valueList('RG01');
$imageID = loopPage($images);
$variant = $variants[$imageID - 1];

Aus der $imageID und der $variant ergibt sich dann eindeutig, welches Bild gezeigt werden soll.

by s156256 (135 points)
Das sieht dann so aus:
[Information]    Interview gestartet (neue Nummer 398)
[Information]    Der Fragebogen qnr3 im Projekt test233729 wird verwendet
[Verarbeitung]    Erstelle Seite 2 in Fragebogen qnr3
[Inhalt]    Erstelle Frage Z302
[Information]    Vom Zufallsgenerator Z302 wurden folgende Codes gezogen: 8, 16, 2, 15, 5, 6, 9, 7, 12, 3, 1, 4, 13, 14, 10, 11
[Information]    loopToPage() wiederholt nun 2 Seiten 16 mal
debug()    Inhalt: Z302x018, Z302x0216, Z302x032, Z302x0415, Z302x055, Z302x066, Z302x079, Z302x087, Z302x0912, Z302x103, Z302x111, Z302x124, Z302x1313, Z302x1414, Z302x1510, Z302x1611
debug()    Inhalt: Keine Daten (null)
debug()    Inhalt: Keine Daten (null)
[Inhalt]    Erstelle Frage T004

Und als Hinweis kommt das für imageID und variant:
Debug-Information für $imageID:
Keine Daten (null)
by SoSci Survey (306k points)
Danke ... ich vergas, dass die Array-Indizes von valueList() ja die Variablen-IDs sind. Bitte ersetzen Sie daher...

$images = valueList('RG01');

noch durch

$images = array_values(valueList('RG01'));
by s156256 (135 points)
Vielen Dank für die Hilfe.
Ich habe noch ein registerVariable($fragen); ergänzt, um die Reihenfolge bei den Testdurchläufen zu fixieren. Jetzt klappt alles soweit.

Für die Kontrollgruppe habe ich die Rotation mittels shuffle gelöst, weil hier ja nur 16 Items zufällig präsentiert werden. Jetzt schaffe ich es nur nicht die Reihenfolge mittels put() abzuspeichern.

$fragen = [
   'E201',
  'E202',
  'E203',
   'E204',
  'E205',
   'E206',
   'E207',
   'E209',
   'E210',
  'E211',
   'E212',
  'E213',
   'E214',
   'E215',
   'E217'
];
if (!isset($variants)) {
  
  shuffle($fragen);
  $variants = array($fragen);
}
 registerVariable($fragen);

$i = loopToPage('loopend2', count($fragen));

question($fragen[$i]);

Das ist der Code von der KG. Es wäre wirklich nett, wenn Sie mir dafür noch eine Lösung geben könnten. Ich bekomme entweder fatale Fehler oder Aussagen wie: "Sie versuchen ein array mittlels put() zu speichern" und komme da einfach nicht weiter.

Liebe Grüße
by SoSci Survey (306k points)
Das sieht für mich nach etwas ganz anderem aus als in der Experimentalgruppe. Und Sie mischen hier ja auch nicht die Bildvarianten, sondern die Kennungen.

Ich denke, Sie sollten die Variable $variants hier weglassen und direkt die $fragen mischen und speichern?

if (!isset($fragen)) {
  $fragen = ...
  shuffle($fragen);
  foreach ($fragen as $i => $frage) {
    put(id('IV01', $i+1), $frage);
  }
}
by s156256 (135 points)
Ja, ist es. Deswegen nehme ich auch lieber wieder Ihre Lösung, die funktioniert. Dankeschön!

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

...