0 votes
in Methoden-Fragen by s014016 (360 points)

Hallo,

ich habe eine Randomisierung mit Urnen erstellt. Jede Urne enthält ein Stratum einer extern erstellten Rando-Liste (2 Gruppen:Intervention/Kontrolle).
Auf der ersten Seite werden ein paar Kontrollfragen gestellt und das Stratum abgefragt.
Je nachdem welches Stratum angegeben wurde, gibt es einen Sprung auf eine neue Seite auf der dann sofort ein Item aus der entsprechenden Urne gezogen wird.

Nun tauchen verschiedene Fragen auf:

  1. Kann ich die Randomisierung auch per Button steuern (und nicht wir jetzt bei Aufruf der Seite? Wenn ja, wie?

  2. Anscheinend wird die Urne nicht konsekutiv ‚abgearbeitet‘, sondern per Zufall wird das entsprechende Item ausgewählt. Was muss ich einstellen, dass die in der jeweiligen Urne hinterlegte Liste konsekutiv verarbeitet wird?

  3. Mir ist aufgefallen, dass die Liste teilweise mehrmals abgearbeitet wird. Das habe ich versucht zu stoppen durch folgenden php-Code

         *$round = urnDraw('zn1', 'RA01');
          if ($round > 1) {
          buttonHide();  
         pageStop();   
           }*
    

    Hat aber irgendwie nicht geklappt. Beim Debuggen habe ich die Meldung bekommen:
    Folgende Kombination wurde bereits früher aus der Urne "zn1" für "RA01" gezogen: 105 / Kontrolle

  4. Um die Rando und die Gruppenzugehörigkeit für den Anwender und zur Kontrolle festzuhalten, soll der Anwender sich die durchgeführte Rando ausdrucken. Gelöst über:

    *answersOption('show-items', 'all');
    answersPrint('all');
    text('printButton');*
    

    und einem Textbaustein:
    Das klappt, ist aber nicht wirklich schön, da praktisch die ganze Seite geduckt wird, ich aber nur den Inhalt brauche. Gibt es da noch andere Möglichkeiten?

Viele Fragen, aber ich hoffe einfach zu lösen.
Vielen Dank schon einmal!

3 Answers

0 votes
by SoSci Survey (304k points)

Kann ich die Randomisierung auch per Button steuern (und nicht wir jetzt bei Aufruf der Seite? Wenn ja, wie?

Sie können den Zufallsgenerator (wie auch Fragen) nicht nur einbinden, indem Sie sie auf eine Seite ziehen, sondern auch mit dem Befehl question(). Entsprechend können Sie abhängig von der Auswahl des Stratums mittels Filter den richtigen Zufallsgenerator einbinden und den gezogenen Zettel gleich in eine PHP-Variablen holen für die weitere Verwendung.

$stratum = value('AB01');
if ($stratum == 1) {
  question('RG01');
  $code = value('RG01');
} elseif ($stratum == 2) {
  question('RG02');
  $code = value('RG02');
}
// Vereinfacht weitere Filter und die Auswertung
put('IV01_01', $code);

Anscheinend wird die Urne nicht konsekutiv ‚abgearbeitet‘, sondern per Zufall wird das entsprechende Item ausgewählt. Was muss ich einstellen, dass die in der jeweiligen Urne hinterlegte Liste konsekutiv verarbeitet wird?

In einer Urne können Sie das gar nicht einstellen. Wenn Sie einen Zufallsgenerator verwenden, dann finden Sie dies bei der Option "Art der Ziehung" -> "Gleichverteilte Ziehung (Ziehen ohne Zurücklegen)".

Mir ist aufgefallen, dass die Liste teilweise mehrmals abgearbeitet wird. Das habe ich versucht zu stoppen

Ohne die passende Debug-Information schwer zu beantworten.

Beim Debuggen habe ich die Meldung bekommen:
Folgende Kombination wurde bereits früher aus der Urne "zn1" für "RA01" gezogen: 105 / Kontrolle

Wenn Sie urnDraw()wiederholt oder mehrfach im selben Interview auf dieselbe interne Variable anwenden, dann wird der Wert nicht überschrieben und die o.g. Meldung angezeigt.

Um die Rando und die Gruppenzugehörigkeit für den Anwender und zur Kontrolle festzuhalten, soll der Anwender sich die durchgeführte Rando ausdrucken.
Das klappt, ist aber nicht wirklich schön, da praktisch die ganze
Seite geduckt wird, ich aber nur den Inhalt brauche. Gibt es da noch
andere Möglichkeiten?

Ich bin nicht ganz sicher, was Sie mit "Rando" meinen bzw. was genau gezeigt werden soll - aber Sie können mittels html() und Filter so ziemlich alles anzeigen, was Sie möchten.

0 votes
by s014016 (360 points)

In einer Urne können Sie das gar nicht einstellen. Wenn Sie einen Zufallsgenerator verwenden, dann finden Sie dies bei der Option "Art der Ziehung" -> "Gleichverteilte Ziehung (Ziehen ohne Zurücklegen)".

Verstehe ich nicht.
In der Anleitung steht doch, dass es sich um eine Zufallsziehung ‚ohne Zurücklegen‘ handelt. Das bedeutet doch, dass jeder Zettel gnau einmal gezogen werden kann (es sei denn, ich lege was anderes fest), und es dürfte nicht mehrere Runden geben.
Idealerweise würde eine Meldung kommen, wenn alle Zettel einmal gezogen sind und die Urne leer ist.

0 votes
by s014016 (360 points)

Eine nächste Frage: Kann ich eine Urne irgendwie ansteuern, z.B. über
*for($TCode =0; $TCode <= 186; $TCode++) {

 urnDraw('zn1', 'RA01');

}?*
Oder geht das bei Urnen überhaupt nicht? Bei meinen Versuchen, hat es nicht funktioniert, aber das kann auch daran liegen, dass ich Irgendwas falsch gemacht habe.

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

...