0 votes
in SoSci Survey (dt.) by s233228 (110 points)

Hey! Wir müssen für ein Forschungsprojekt zwei Stimuli unabhängig voneinander randomisieren lassen (ohne zurücklegen), sodass jeder Stimulus bei jedem Participant genau einmal gezeigt wird. Leider sind wir ein bisschen verloren mit der Aufgabe. Könnte sich jemand vorstellen, mir das in einem Videocall zu erklären? Ich würde das auch bezahlen!

Das würde mir total weiterhelfen!! :))

Liebe Grüße

by SoSci Survey (299k points)
Bitte erklären Sie die gewünschte Randomisierung ein wenig genauer. Sprechen wir von einem 2x2-Design mit insgesamt 4 mögliche Stimuli, von denen pro Interview 2 angezeigt werden.
by s233228 (110 points)
moved by s233228

Genau, es werden zwei Stimuli pro Interview gezeigt. Wichtig ist, dass sie auf einer Seite gezeigt werden. Es sind alles Texte (Einmal kleine Essays und einmal Beschreibungen dazu) und die sollen praktisch random kombiniert werden. Es wird wahrscheinlich 8 Essays geben und 8 Beschreibungen, also insgesamt 16 Stimuli...aber die genaue Anzahl ist ja zweitrangig, wenn ich die Logik verstanden habe.

1 Answer

0 votes
by SoSci Survey (299k points)

die genaue Anzahl ist ja zweitrangig, wenn ich die Logik verstanden habe.

Okay, dann gehen wir mal von einem einfachen 2x2-Design aus - also zwei Essays (ES01 und ES02, anegelegt als "Text" im Fragenkataloge) und zwei Beschreibungen (DC01, DC02).

Legen Sie in einem Zufallsgenerator alle möglichen Kombinationen daraus ab, also:

ES01,DC01
ES01,DC02
ES02,DC01
ES02,DC02

Der erste Code den Essay, der zweite für die Beschreibung. Dann ziehen Sie den Zufallsgenerator auf eine Seite im Fragebogen und darunter ...

... lesen Sie erst einmal die Ziehung aus. Das 'csv' trennt die beiden Werte.

$codes = value('RG01', 'csv');
$essay = $codes[0];
$desc = $codes[1];

Und damit können Sie dann die entsprechende Inhalte anzeigen:

text($essay);
text($desc);
by s233228 (110 points)
Vielen Dank :) das habe ich soweit verstanden, super!

Jetzt kommt aber noch eine Schwierigkeit:
Ich will, dass jeder nacheinander beide Descriptions präsentiert bekommt (within subject design).
Wenn ich hier aber jetzt sage, ziehe zweimal aus den möglichen Kombinationen, kann es ja passieren, dass zweimal DC01 ausgewählt wird. Wie kann ich sicherstellen, dass jeder Person jede Description einmal präsentiert wird (in randomisierter Reihenfolge) und zwar mit zufällig gezogenen Text dazu. Dann brauche ich zwei unabhängige Randomisierungen oder?
by s233228 (110 points)
und vielleicht noch als Ergänzung: das mag bei einem 2x2-Design banal sein. wir werden aber doch ein 4x4-Design benötigen.
by s233228 (110 points)
Ich vermute, dass man mit internen Variablen arbeiten muss, um dort abzulegen, welche Description im Verlauf des Durchlaufs schon gezogen wurde, damit man die dann nicht mehr zieht...oder?
Leider übersteigt das völlig meine PHP-Coding Skills
by SoSci Survey (299k points)
Nochmal zum nicht-2x2-Design.

Wie viele Essays soll eine Person denn sehen, wenn es z.B. 4 davon gibt? Alle (sodass wir eigentlich von einer Rotation sprechen) oder nur zwei aus vier?
by s233228 (110 points)
Jede Person soll alle Essays sehen. In einer randomisierten Kombination mit den Beschreibungen. Nur eben, dass die Essays selbst auch in randomisierter Reihenfolge kommen, jeweils mit einer Beschreibung, die unsystematisch zur Essay-Randomisierung auch durchrotiert. Am Ende haben alle Personen jede Beschreibung einmal und jedes Essay einmal gesehen - in zufällig generierten Paarungen...
by SoSci Survey (299k points)
Wir sprechen also von einer Rotation, weniger von einer Randomisierung.

Lösung 1: Die beiden Typen (Essay/Beschreibung) getrennt rotieren - zum Beispiel mit zwei Zufallsgeneratoren. Nachteil: Es ist nicht sichergestellt, dass jede Kombination gleich häufig abgefragt wird.

Lösung 2: Alle 4! x 4! = 576 Kombinationen notieren und daraus eine ziehen. Wenn Sie mit weniger als 576 Befragten rechnen, dann sollten Sie vorab schon systematisch auswählen (z.B. Lateinisches Quadrat).
by s233228 (110 points)
Super, danke!
Option 1 ist völlig ausreichend, da sitze ich gerade auch schon dran...aber nicht so erfolgreich. Muss ich dabei spezielles beachten?

Ich habe gerade zwei Zufallsgeneratoren auf einer Seite untereinander, sodass Essay und Beschreibung untereinander angezeigt werden. Bei beiden habe ich im PHP Script ausgewählt, dass sie die 4 Ziehungen nicht auf einer Seite machen sollen sondern immer auf einer neuen (loopPage-Befehl). Dadurch kommt es aber leider zu Fehlermeldungen. Der Stimulus, den ich las zweiten anzeigen lasse, kommt auf der zweiten Seite dann zweimal und aufeinmal werden die Texte nicht mehr gefunden.

Helfen Dir Screenshots, um das zu beurteilen? Oder kann ich Dir einen Zoom-Link schicken und wir gucken kurz gemeinsam drauf? Ich vergüte das auch total gerne, die wertvolle Zeit!!
by SoSci Survey (299k points)
> Ich habe gerade zwei Zufallsgeneratoren auf einer Seite untereinander, sodass Essay und Beschreibung untereinander angezeigt werden.

Die Zufallsgeneratoren werden erstmal gar nichts anzeigen - die sorgen nur für die Ziehung. Für die Anzeige müssen Sie deren Inhalt verwenden. Hier ein Beispiel:

$essays = array_values(valueList('RG01', NULL, 'label'));
$descs = array_values(valueList('RG02', NULL, 'label'));
$i = loopPage(4);
show($essays[$i]);
show($descs[$i]);

Zusammen mit den Zufallsgeneratoren auf einer Seite.
by s233228 (110 points)
Tausend Dank, so klappt es. :))

Ich habe die PHP-Codes auch schon drinnen gehabt, aber einzeln unter jedem Zufallsgenerator, der Knackpunkt war glaub ich, dass die jetzt beide mit derselben LoopPage Funktion verknüpft sind.

vielen Dank, das hat mir total geholfen!!!
by s233228 (110 points)
Noch eine kurze Nachfrage:

Statt einer Description soll nun ein Name mit einem Alter dahinter angezeigt werden.
Von beiden Variablen gibt es wieder 4 Versionen. Sie sollen unabhängig voneinander rotiert und kombiniert werden, allerdings innerhalb einer Textzeile.
Der Output soll also so aussehen:

Paula (17)

Untereinander schaffe ich es, die Informationen anzeigen zu lassen, aber wie bekomme ich sie in eine Zeile, dass es aussieht, als gehören sie zusammen.

$essays = array_values(valueList('R002', NULL, 'label'));
$names = array_values(valueList('R005', NULL, 'label'));
$age = array_values(valueList('R004', NULL, 'label'));
$questions = array_values(valueList('R003', NULL, 'label'));


$i = loopPage(4);

show($essays[$i]);
show($names[$i],$age[$i]);
show($questions[$i]);

Das war einer meiner Versuche...
by SoSci Survey (299k points)
> wie bekomme ich sie in eine Zeile, dass es aussieht, als gehören sie zusammen.

Dafür sollten Sie Namen und Alter (das sind ja deutlich kürzere Informationen als die Essays) direkt im Zufallsgenerator hinterlegen und dann als Platzhalter in einen anderen Text einfügen, also z.B.

$age = array_values(valueList('R004', NULL, 'label'));
replace('%alter%', $age[$i]);

$names = array_values(valueList('R005', NULL, 'label'));
replace('%name%', $names[$i]);

html('<p>%name%, %alter% Jahre</p>');
by s233228 (110 points)
Perfekt, genau das habe ich gebraucht! :)
by s233228 (110 points)
Hab noch eine Baustelle:

nach jeder Kombination aus Description und Essay, soll immer die gleiche Frage gestellt werden. Dieselbe Frage mehrfach geht ja nicht, ich hab sie jetzt dreimal dupliziert, wie kann ich coden, dass er einfach auf der ersten Seite die erste Frage nimmt, auf der zweiten die zweite und so weiter, also die Fragen nicht rotieren. Irgendwie in Verbindung mit dem "$i = loopPage(4);" oder?
by SoSci Survey (299k points)
>  wie kann ich coden, dass er einfach auf der ersten Seite die erste Frage nimmt, auf der zweiten die zweite und so weiter, also die Fragen nicht rotieren.

Überlegen Sie sich, ob Sie die Fragen nicht lieber an den Essay koppeln möchten - das könnte die Auswertung vereinfachen. Aber wenn nicht, dann machen sie es wie folgt:

$fragen = [
  'AB01',
  'AB02',
  'AB03'
];
$frageID = $fragen[$i];  // Hier wird das $i vom loopPage() verwendet
question($frageID);
by s233228 (110 points)
Am besten wäre es, ich würde die Fragen an die Namen koppeln. Kann man denn zwei Items in eine Zeile packen im Zufallsgenerator, dass die gemeinsam rotiert werden und man sie mit [0]/[1] einzeln ansteuern kann, weil das klappt gerade nicht. Also wie würde ich die Fragen an die Namen koppeln?
by SoSci Survey (299k points)
Ja, Sie können die ID der Frage direkt mit in den Zufallsgenerator legen, z.B.

1 = AB01, Tom
2 = AB02, Franzi
3 = AB03, Max
4 = AB04, Anna

Wenn Sie ein Komma zwischen die Werte schreiben, können Sie die beiden Teile einfach mittels value(..., 'csv') trennen. Aber nur beim Einzelabruf. Wenn Sie hingegen mit valueList() arbeiten, müssten sie das noch manuell erledigen:

$names = array_values(valueList('R005', NULL, 'label'));
list($qst, $name) = preg_split('/,\\s*/', $names[i]);
replace('%name%', $name);
question($qst)M

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

...