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

0 votes

Hallo,

in meiner Studie zeige ich Probanden 84 Bilder von 21 Personen, d.h. von jeder Person gibt es 4 Fotos. Es sollen nun alle 84 Fotos randomisiert dargestellt werden, sodass jedem neuen Probanden alle Fotos in unterschiedlicher Reihenfolge dargeboten werden, dabei aber niemals eine Person 2x nacheinander sehen.
Die Personen haben IDs zugewiesen bekommen, die sie bei allen 4 Fotos haben, der Name der Fotos unterscheidet sich lediglich durch die Bezeichnung des Zeitpunkts der Aufnahme. Zu jedem Foto wird zudem eine kontinuierliche Skala dargeboten, mithilfe derer die Fotos bewertet werden sollen.

D.h. 84 Fotos (21 PersonenIDs x 4 Zeitpunkte) -> alle Fotos randomisieren aber keine ID 2x nacheinander.

Kennt jemand einen php-Code o.ä., der garantiert, dass keine Person 2x auftaucht und alle Fotos randomisiert dargeboten werden?

in SoSci Survey (dt.) by s078209 (115 points)

1 Answer

+1 vote

Sie haben hier (min.) zwei Möglichkeiten:

  1. Sie können 8 Blöcke bilden mit jew einem Bild der Personen 1-11 und 12-21 (jeweils 4-mal). Jeden Block rotieren Sie in sich und anschließend stellen Sie die 8 Blöcke nacheinander dar. Das hat auch den Vorteil, dass alle Personen ungefähr gleich häufig am Anfang und Ende gezeigt werden.

  2. Sie können zufällig mischen und dann eine kleine Schleife bauen, welche das Ergebnis auf Wiederholungen derselben Person überprüft. Findet sie eine solche, dann tauscht es die Position des Bildes z.B. mit dem darauffolgenden Bild (dann wäre häufiger nur eine andere Person "dazwischen") oder z.B. mit einem zufälligen anderen Bild. Das macht die FUnktion so lange, bis keine Wiederholungen mehr vorliegen.

Meiner Erfahrung nach ist etwas weniger Zufall (Variante 1) weniger anfällig für unerwartete Artefakte. Bei Variante 1 könnte man die Blöcke zudem noch abwechselnd einmal 1/2/3/4/5/6/7/8 zusammenfügen und einmal 2/1/4/3/6/5/8/7.

by SoSci Survey (233k points)
Hallo,
vielen Dank für die schnelle Antwort! An die Variante 1 hatte ich selbst auch schon gedacht und allerdings nur 4 Blöcke gestaltet.

Hätten Sie mir noch einen php-Code zu der 2.Variante? Diese bevorzugt meine Masterarbeits-Gutachterin.
Die 8 Blöcke vermeiden eine Wiederholung der gleichen Person an der "Blockgrenze".

> Diese bevorzugt meine Masterarbeits-Gutachterin.

Mit welcher Begründung? Sie ist methodisch m.E. schlechter. Einen entsprechenden Code muss ich erst heraussuchen. Sagen Sie mir bitte Bescheid, ob sich der Aufwand lohnt :)
Dann werde ich mit der ersten Variante arbeiten und es ihr so weiterleiten.
Ich habe einen php Code generiert (nur für einen Teil der Fotos&Blöcke hier notiert). Ich werde diese 84 Bilder zusätzlich 2x in 2 Blöcken zeigen, da die Fotos einmal hinsichtlich ihrer Attraktivität und einmal hinsichtlich des wahrgenommenen Stress bewertet werden sollen. Danach werden die soziodemographischen Daten (SD) erfragt.

Ist dieser php_Code hierfür geeignet?

//ATTRAKTIVITÄT
if (!isset($blocks)) {
  // Liste der Seiten definieren
  $blocks = array(
    // A
    array('A1','A2','A3', 'A4','A5','A6','A7'),
    // B
    array('B1','B2','B3', 'B4','B5','B6','B7'),
    // C
    array('C1', 'C2','C3', 'C4','C5','C6','C7'),
   // D
    array('D1', 'D2','D3', 'D4','D5','D6','D7')

  );
  // Jeden einzelnen Block in sich mischen
  for ($i=0; $i<count($blocks); $i++) {
    shuffle($blocks[$i]);
  }
  // Liste der Blöcke mischen
  shuffle($blocks);
  
  // Reihenfolge zwischenspeichern, um spätere Änderung zu vermeiden
  registerVariable($blocks);
}
setPageOrder($blocks);

// Stress
if (!isset($bloecke)) {
  // Liste der Seiten definieren
  $bloecke = array(
    // S
    array('S1','S2','S3', 'S4','S5','S6','S7'),
    // T
    array('T1','T2','T3', 'T4','T5','T6','T7'),
    // U
    array('U1', 'U2','U3', 'U4','U5','U6','U7'),
   // V
    array('V1', 'V2','V3', 'V4','V5','V6','V7')

  );
 for ($i=0; $i<count($bloecke); $i++) {
    shuffle($bloecke[$i]);
  }
  // Liste der Blöcke mischen
  shuffle($bloecke);
 
  // Reihenfolge zwischenspeichern, um spätere Änderung zu vermeiden
  registerVariable($bloecke);
}
setPageOrder($bloecke);

if (!isset($gesamt)) {
  $gesamt = array(  // Liste der Frage-Kennungen und zugehöriger Bilder
    array('St', $bloecke),
    array('At', $blocks)
  );
  // Die Liste mischen
  shuffle($gesamt);
}
 
// Jetzt das Ergebnis noch als Seitenabfolge festlegen
// Weiter soll es anschließend mit Seite 'SD' gehen

setPageOrder($gesamt, 'SD');
...