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

In meinem Experiment bekommen die Versuchspersonen zufällig eine Nummer aus einer Urne. Diese Nummer ist dann bei einem anderen Experiment, zu dem sie über einen Link gelangen, ihre Versuchspersonennummer. Die Seite mit dem Link zu dem anderen Experiment ist praktisch die letzte Seite.

Nun ist mir aufgefallen, dass auch diejenigen Versuchspersonen eine Nummer "verbrauchen", die nicht auf den Link klicken und zum anderen Experiment kommen.
Ich hätte gedacht, dass durch den Code

urnDraw('nummer', 'U001', 'end');

mein Problem gelöst wird, das scheint jedoch nicht zu funktionieren. Die Urne wird also auch geleert, obwohl nicht alle Vpn an dem eigentlichen Experiment teilnehmen.

Ich würde mich sehr über einen Tipp freuen.

in SoSci Survey (dt.) by s077175 (125 points)

1 Answer

0 votes
 
Best answer

Das 'end' sorgt dafür, dass der Urnen-Zettel dann entwertet wird, wenn die Variable FINISHED im Datensatz auf 1 gesetzt wird. Das kann erreicht werden, wenn...

... die "letzte Seite" im Fragebogen erreicht wird oder

... wenn jemand per redirect() dern Fragebogen verlässt.

Die Seite mit dem Link zu dem anderen Experiment ist praktisch die letzte Seite.

Praktisch oder technisch? Und müssen die Teilnehmer/innen den Link noch manuell anklicken? Wenn ja, dann könnte das Ihre Diskrepanz erklären.

by SoSci Survey (130k points)
selected by s077175
Danke für die Antwort. Ja, die Versuchspersonen verlassen über redirect den Fragebogen und somit kommen sie nicht mehr zurück auf die tatsächlich letzte Seite. Die Teilnehmer müssen den Link manuell anklicken.
Könnte man denn unter diesen Umständen einstellen, dass der Urnen-Zettel wirklich nur dann entwertet wird, wenn die Vp über redirect den Fragebogen verlassen haben? Denn momentan wird auch ein Urnen-Zettel verbraucht, obwohl Sie nur auf der ersten oder zweiten Seite des Fragebogens waren.
Verwenden Sie doch einfach die Funktion redirect(), um die Leute direkt umzuleiten :)

> Denn momentan wird auch ein Urnen-Zettel verbraucht, obwohl Sie nur auf der ersten oder zweiten Seite des Fragebogens waren.

Das dürfte nicht der Fall sein. Im Gegenteil: Eigentlich dürfte der Zettel überhaupt nicht gezählt werden, wenn die letzte Seite nicht erreicht wird (FINISHED=1) - und das ist ja laut Ihrer Aussage nicht der Fall, oder?!
Ich weiß, dass das nicht der Fall sein dürfte, doch es ist so. Auch wenn die Teilnehmer nur auf Seite 1 oder 2 des Fragebogens waren, wird ein Urnenzettel verbraucht. Bei den erhobenen Daten steht auch eine 0 bei der Variable 'FINISHED', dennoch ist der Urnen-Zettel weg. Möglicherweise liegt es aber auch daran, dass ich am Anfang des Fragebogens noch definiert habe, dass die Urne nur einmal geleert werden soll. Möglicherweise muss ich da definieren, dass sie dann "voll" ist, wenn alle Teilnehmer auch wirklich auf der letzten Seite des Fragebogens waren.
> dennoch ist der Urnen-Zettel weg

Im Sinne von "wenn man in der Urnen-Funktion nachsieht, dann wurde bei dem entsprechenden Zettel hochgezählt"?

> Möglicherweise liegt es aber auch daran, dass ich am Anfang des Fragebogens noch definiert habe, dass die Urne nur einmal geleert werden soll.

Vielleicht möchten Sie mal den kompletten PHP-Code posten?
Ich habe gerade den PHP Code, den ich auf der ersten Seite eingefügt habe, entfernt. Der Code ist:

$round = urnDraw('nummer', 'IV01');
if ($round > 1) {
  text('over'); //
  buttonHide();  // Blendet alle Knöpfe aus
  pageStop();  // Führt keine weiteren Inhalte auf der Seite mehr aus (falls unter dem PHP-Code noch Fragen, Texte o.ä. stehen)
}

Als der Code weg war, hat sich das Problem gelöst: die Urnen-Zettel werden wieder zurückgelegt, wenn die Variable FINISHED nicht 1 ist. Trotzdem muss ich den Code drin lassen, da ich auf keinen Fall mehr als eine bestimmte Teilnehmerzahl erheben darf. Haben Sie vielleicht eine Idee, wie man den Code so verändern könnte, dass die Urne zwar nur ein Mal geleert wird, jedoch so, dass auch jeder Zettel wirklich verwendet wird?
Ich denke, das Problem ist hier:

urnDraw('nummer', 'IV01');

Hier nehmen Sie die Ziehung vor - und da fehlt das 'end' als dritter Parameter. Jenes, das Sie in der ursprünglichen Frage oben noch drin hatten!
...