Hallo, Leonie,
zunächst: Du musst Deine Frage nicht doppelt schreiben.
Denn wie hier "
Bitte erst lesen, dann im Forum schreiben!" steht
Wenn ihr das erste Mal eine Nachricht schreibt, muss diese erst von uns freigegeben werden, bevor sie öffentlich erscheint. Das kann ein paar Stunden dauern, wir bitte um Geduld.
Dies ist einfach ein gewisser Spam-Schutz.
Aber klar, wer liest schon Gebrauchsanweisungen?
Also habe ich den zweiten Thread gelöscht.
Gut, nach der kleinen Rüge zu Deiner Frage.
Ich verstehe nicht, was Du im Endeffekt erreichen willst. Warum zunächst die Aufteilung der ersten 160 Teilnehmer, danach aber im Grunde analog weiter (Zufällige Zuordnung des nächsten Teilnehmers)?
Meinetwegen verteilen wir die ersten 160 Teilnehmer gleichmäßig auf die vier Gruppen.
Aber dann? Der 161. Teilnehmer wird ja wieder zufällig einer der vier Gruppen zugeordnet.
Nichtsdestotrotz:
In meinem "Tutorial 4: Gleichungen, Zufall,..." findest Du mehrere alternative Verfahren.
Zyklische Zuweisung: Der Erste fällt in Gruppe 1, der Zweite in Gruppe 2,..., der Fünfte wieder in Gruppe 1
Least filled
Das Tutorial findest Du hier im deutschen Teil (im Moment auf Seite 20)
Deine Idee, die Zufallsgleichung dynamisch zu ändern, findest Du ebenfalls dort (2.1.3., unten)
Im Tutorial ist dies nur für Zufallszahlen von 1-3 gezeigt.
Es ist aber eine leichte Fingerübung, solche Gleichungen auch für Zufallszahlen von 1-4 zu bilden.
Gefüllt ist Gruppe 1:
{rand(2,4)} trivial
Gefüllt ist Gruppe 2:
{round(1.4*rand(1,3))} Es tauchen nur die Zahlen 1,3 und 4 auf
Gefüllt ist Gruppe 3:
{floor(1.4*rand(1,3))} Es tauchen nur die Zahlen 1,2 und 4 auf
Gefüllt ist Gruppe 4:
{rand(1,3)} trivial
Gefüllt sind Gruppen 1 und 2:
{rand(3,4)} trivial
Gefüllt sind Gruppen 1 und 3:
{2*rand(1,2)} Nur 2 und 4
Gefüllt sind Gruppen 1 und 4:
{rand(2,3)} trivial
Gefüllt sind Gruppen 2 und 3:
{1+ 3*rand(0,1)} Nur 1 und 4
Gefüllt sind Gruppen 2 und 4:
{1+ 2*rand(0,1)} Nur 1 und 3
Gefüllt sind Gruppen 3 und 4:
{rand(1,2)} trivial
Und bei drei bereits gefüllten Gruppen ist es ja keine Zufallszahl mehr sondern eine Konstante (eben die noch fehlende Gruppe)
Das ist also kein Hexenwerk. Du musst nur die Mächtigkeit der vier Gruppen bestimmen (am besten mit der Funktion "statCountif")
und dann z.B. mit einem verschachtelten IF die notwendige Funktion benutzen.
Und dann gibt es noch die grundsätzliche Funktion (wenn keine Gruppe gefüllt ist bzw. alle Gruppen gefüllt sind).
{rand(1,4)}
Immer natürlich umschlossen vom Konstrukt {if(is_empty(...)}
Dies würde funktionieren, aber ich weiß ja nicht, welchen Sinn das Ganze hat.
Am einfachsten ist es doch, die Umfrage zunächst laufen zu lassen, bis alle Gruppen gefüllt sind.
Dann sind natürlich einige übererfüllt; aber das ist ja auch gut so.
Denn Du musst schließlich zunächst eine Datenbereinigung durchführen. Soll heißen, Du musst einige Hanseln rausschmeißen, die die Sache nicht ganz ernstgenommen haben. Die entweder als Speeder, Justifier, Happy Clicker bei Skalen oder durch besonders kreative Orig-Antworten und esoterisches Geschwafel (oder was auch immer) bei offenen Fragen auffallen.
Leider hast Du die am Anfang auftauchenden Fragen nicht vollständig beantwortet.
Daher habe ich keine Ahnung, ob Du javascript benutzen kannst. Am Anfang des Tutorials gibt es aber einen kleinen Test.
Mit javascript könnte man dies ebenso lösen.
Abschließend: Im Tutorial steht ja auch, dass diese alternativen Verfahren nicht unbedingt besser sind als die simple Zufallszahl.
Dies liegt einfach daran, dass erst nachdem ein Teilnehmer die Umfrage abgesendet hat, diese als "complete" gewertet werden kann.
Das bedeutet aber auch, dass wenn eine Gruppe mit 39 Teilnehmern gefüllt ist, und 5 Teilnehmer in der Befragung unterwegs sind, durchaus mehrere in diese Gruppe fallen können. Erst wenn 40 "completes" vorhanden sind, würde ein weiterer Teilnehmer beim "Durchschreiten der Zufallstür" nicht mehr in diese Gruppe fallen können.
Vielleicht kannst Du mich noch erwas aufklären, und dann den lss Export eines kleinen Prototypen Deiner Umfrage schicken.
Dann kann man direkt am lebenden Patienten arbeiten.
Bis dann
Joffm