0 votes
in SoSci Survey (dt.) by s109993 (10.2k points)

Guten Morgen zusammen,

ich habe eine OFB mit einer Zugangsberechtigung für Seriennummern.
Aus diesen Seriennumern hole ich mir via der Datenbank für Inhalte für jeden Fall die Information, ob ein Teilnehmer die Sprache 1,2 oder 3 (Variable X001_01) beherrscht.

Für eine Aufgabe (Frage) gibt es zwei Versionen.

15 Teilnehmer der Sprache 1 sollen Version 1 bekommen.
15 Teilnehmer der Sprache 2 sollen Version 1 bekommen.
30 Teilnehmer der Sprache 3 sollen Version 1 bekommen.

Wenn diese Anzahl voll ist, sollen alle restlichen Teilnehmer wieder Version 2 bekommen.
Die Auswahl der Teilnehmer soll am Besten zufällig sein. Falls das nicht möglich ist, können es auch die ersten 15 bzw. 30 Teilnehmer sein.

Mein Ansatz war zunächst eine Einteilung in Experimentalgruppen (hier weiß ich nicht wie ich die Randomisierungn bei einer bestimmten Anzahl der Ziehung stoppe) oder aber eine etwas einfachere

$sprache1 = 0;
if (value('X001_01') == '2' )) {
question('F213');
$sprache1++;
}

Allerdings zählt count ja nur für einen Fall hoch und nicht pro Fall +1. Und ist zudem ohne Randomisierung.

Es fehlt also überall ein bisschen was...

Hat jemand einen Weg/Idee, dass elegant zu lösen?

Viele Grüße

by SoSci Survey (305k points)
> Wenn diese Anzahl voll ist, sollen alle restlichen Teilnehmer wieder Version 2 bekommen.
> Die Auswahl der Teilnehmer soll am Besten zufällig sein.

Ich bin nicht sicher, ob ich Ihre Frage korrekt verstehe. Möchten Sie nach erreichen der o.g. Quote die zufällig zuweisung aktivieren oder soll von Beginn an zwischen den beiden Versionen randomisiert werden?
by s109993 (10.2k points)
Am Besten wäre es, wenn  anfangs eine zufällige Zuweisung vorhanden wäre und mit erreichen der Quote alle Teilnehmer nur noch Version 2 bekommen würden.

2 Answers

+1 vote
by SoSci Survey (305k points)

Auf die Gefahr hin, dass ich Ihre Frage falsch verstanden habe .... hilft Ihnen diese ANleitung weiter? Randomisierung -> Urnen für Teilgruppen

by s109993 (10.2k points)
Auf Basis dieses Kapitels: Pro Sprachversion ('X001_01 == 1 bis 4) wird entweder Version 1 oder Version 2 ausgewählt.

if (value('X001_01') == 1) {
  question('RG01');  // Zufallsgenerator für Version 1 oder 2
  put('IV01_01', value('RG01'));  // Umkopieren nach IV01_01
} elseif (value('X001_01') == 2){
  question('RG02');  // Zufallsgenerator für Version 1 oder 2
  put('IV01_01', value('RG02'));  // Umkopieren nach IV01_01
} elseif (value('X001_01') == 3){
  question('RG02');  // Zufallsgenerator für Version 1 oder 2
  put('IV01_01', value('RG02'));  // Umkopieren nach IV01_01
} else {
question('RG02');  // Zufallsgenerator für Version 1 oder 2
  put('IV01_01', value('RG02'));  // Umkopieren nach IV01_01
}
 
// Stimulus anzeigen
$z = value('IV01_01');
if ($z == 1) {
 question('Version 1');
} else {
 question('Version 1');
}

Ich habe bisher trotzdem nicht herausfinden können wie ich, nach dem die Quote erreicht wurde, alle Teilnehmer nur noch Version 2 zuteilen kann. Auch weile die Quote eine Kombination ist aus der Sprachvariable (z.B.:(value('X001_01') == 1) und der Version, welcher der Zufallsgenerator auswählt.
by SoSci Survey (305k points)
> Ich habe bisher trotzdem nicht herausfinden können wie ich, nach dem die Quote erreicht wurde, alle Teilnehmer nur noch Version 2 zuteilen kann.

Gut, ob das übrhaupt erwünscht it, hatte ist bisher nicht verstanden.

Sie haben zum Zufallsgenerator noch eine Variable _CN. Diese sagt Ihnen, wie häufig der Zufallsgenerator bereits geleert wurde. Damit können Sie die Erfüllung der Quote prüfen und ggf. eine "2" in die interne Variablen speichern.
0 votes
by s109993 (10.2k points)

Falls jemand eine ähnliche Lösung sucht. Dieses Script scheint bisher gut zu funktionieren:

if (value('X001_01') == 1) {  //Sprachvariable 1
  question('SM06');  // Zufallsgenerator für Version 1 oder 2
  put('SM10_01', value('SM06'));  // Umkopieren nach Interne Variable
} elseif (value('X001_01') == 2){   //Sprachvariable 3
  question('SM11');  // Zufallsgenerator für Version 1 oder 2
  put('SM13_01', value('SM11'));  // Umkopieren nach Interne Variable1
} elseif (value('X001_01') == 3){   //Sprachvariable 3
  question('SM12');  // Zufallsgenerator für Version 1 oder 2
  put('SM14_01', value('SM12'));  // Umkopieren nach Interne Variable
} else {   //Sprachvariable 4 (wird behandelt wie 1)
question('SM06');  // Zufallsgenerator für Version 1 oder 2
  put('SM10_01', value('SM06'));  // Umkopieren nach Interne Variable
}
 
// Wert der Internen Variable  wird an neue php Variable übergeben
$z = value('SM10_01');  
$z2 = value('SM13_01'); 
$z3 = value('SM14_01'); 
registerVariable($z);   //Für spätere Filter
registerVariable($z2); //Für spätere Filter
registerVariable($z3); //Für spätere Filter


if (($z == 1) and (value('SM06_CP') <= 30))  {  //wenn Version 1 gezogen wird, wird diese angezeigt, bis 30 Teilnehmer diese gezogen haben. Dann greift der else Zweig am Ende
text('Bumerang_Einleitung_O');
} elseif (($z2 == 1) and (value('SM11_CP') <= 15))  { 
text('Bumerang_Einleitung_O');
} elseif (($z3 == 1) and (value('SM12_CP') <= 15))  {  
text('Bumerang_Einleitung_O');
} else {
 text('Bumerang_Einleitung_PP');
}

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

...