Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

1 zu 1 Zufallszuweisung

  • pmeiners
  • pmeiners's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 5 months ago #207427 by pmeiners
1 zu 1 Zufallszuweisung was created by pmeiners
Hallo,

ich plane derzeit eine Umfrage in vier Wellen.
In Wellen 2-4 soll den Teilnehmenden jeweils eine Antwort einer Person zugeteilt werden, die in einer vorherigen Welle angegeben wurde.
Dazu bräuchte ich allerdings eine Möglichkeit, jeder Person genau eine Zahl von 1-100 zuzuteilen, die keine anderen Teilnehmenden bekommen können.
Nach meiner Suche hier im Forum ist mir klar geworden, dass das mit limesurvey sehr schwierig umzusetzen sein könnte. Mit einer reinen Zufallszuweisung könnte es passieren, dass mehrere Teilnehmenden dieselbe Antwort einer vorherigen Welle erhalten. Über eine Quotenlösung würde ich ebenfalls viele Teilnehmenden ausschließen.

Gibt es vielleicht noch eine andere Lösung spezifisch für diese 1 zu 1 Zuteilung?
Falls nein, wie hoch wäre die Menge an doppelten Zahlen (1-100) bei einem random seed von limesurvey? Eventuell könnte man mit ein wenig Überrekrutierung das Problem lösen.

Mir steht Limesurvey Version 3.24.3+201027 zur Verfügung.

Vielen Dank für alle Hilfen!
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago #207439 by Joffm
Replied by Joffm on topic 1 zu 1 Zufallszuweisung
Hallo,

Mir steht Limesurvey Version 3.24.3+201027 zur Verfügung.

Das klingt so, als habest Du LimeSurvey nicht selbst gehostet.

Kommen wir also zu möglichen Lösungen:
1. Völlig externe Lösung.
Du machst einen sogenannten "ajax call".
Das heißt, Du rufst aus LimeSurvey heraus ein kleines Progrämmchen auf, welches Du (z.B. in php) geschrieben hast.
Dieses Programm sollte dann in der Lage sein, eine eindeutige Zahl zu liefern.
Ob durch Zugriff auf eine Datenbank, ob durch eine Textdatei, egal.

2. Halb extern.
Deine Umfrage ist ja token-basiert.
Und die Zahlen von 1-100 müssen ja nicht zufällig sein, sondern nur eindeutig. Es spricht also wohl nichts dagegen, dem ersten, der die Umfrage beantwortet, die Zahl "1" zuzuordnen, dem zweiten die "2", usw. Dies ist ja auch zufällig, da es nur von der "zufälligen" Reihenfolge der Beantwortung abhängt.
D.h. in dem "ajax call" muss Dein kleines Progrämmchen nur in der LS-Datenbank die Anzahl der "completes" zählen und dadurch die neue Zahl ermitteln.

3. Wenn es keine Zahl, sondern irgendein anderer Identifier sein kann, wäre das Plugin "generateUniqId" evtl. eine Möglichkeit.
gitlab.com/SondagesPro/QuestionSettingsType/generateUniqId

Jetzt komme ich auf meinen ersten Satz zurück.
Diese drei Möglichkeiten gehen natürlich nur, wenn Du Zugang zur LimeSurvey-Datenbank und dem Server hast.

4.

wie hoch wäre die Menge an doppelten Zahlen (1-100) bei einem random seed

Probiere es doch aus.
Erzeuge (in EXCEL oder OpenOffice, oder...) einmal 100 Zufallszahlen von 1-100.
Dann siehst Du ja die Verteilung.
Bei einem kleinen Test hier gab es folgende Verteilung


Ist jetzt nicht so prickelnd; bei 100 Würfen nur 60 verschiedene Zahlen, und daraus resultierend natürlich doppelte.
Naja, das hätte man sich auch ausrechnen können.

Resümee:
Dies wird Dich alles nicht so ganz zufriedenstellen.
Ich muss auch zugeben, dass ich Deinen Ansatz nicht verstehe.

In Wellen 2-4 soll den Teilnehmenden jeweils eine Antwort einer Person zugeteilt werden, die in einer vorherigen Welle angegeben wurde.

Soll das heißen, irgendwo steht dann in einer Frage
In der ersten Welle hat jemand diese Frage mit "ziemlich schlecht" beantwortet. Was meinen Sie dazu??

Wenn Du dies noch einmal erklären würdest, ...

Bis dann
Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago #207446 by Joffm
Replied by Joffm on topic 1 zu 1 Zufallszuweisung
Übrigens, wenn es sich wirklich um EINE Antwort aus der vorigen Welle handelt, könntest Du diese natürlich einfach als TOKEN_ATTRIBUTE in der zweiten Welle einfügen.
Damit es denn zufällig ist, lass Deine Oma entscheiden, wer welche Antwort sieht.

Und damit bin ich endlich im richtigen Fahrwasser.
Wieso nimmst Du nicht einfach ein TOKEN_ATTRIBUT und vergibst die Zahlen von 1-100 zufällig an die einzelnen Personen.
So könnte man auch mehrere ATTRIBUTE nehmen, damit die Zahlen in den verschiedenen Wellen unterschiedlich sind.

Und ich belästige immer die Oma, um klar zu machen, dass es eine Person sein soll, die nichts mit der Umfrage zu tun hat.

Entschuldige, dass ich auf diese simple Lösung nicht vorher gekommen bin.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • pmeiners
  • pmeiners's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 5 months ago #207448 by pmeiners
Replied by pmeiners on topic 1 zu 1 Zufallszuweisung
Danke für die ausführlichen Antworten.

Joffm wrote: Hallo,

Mir steht Limesurvey Version 3.24.3+201027 zur Verfügung.

Das klingt so, als habest Du LimeSurvey nicht selbst gehostet.

Resümee:
Dies wird Dich alles nicht so ganz zufriedenstellen.

Genau, Limesurvey ist nicht von mir gehostet und ich fürchte, das deshalb die ersten beiden Vorschläge nicht umsetzbar sind, auch weil mir das nötige scripting Wissen fehlt.

Joffm wrote: Ich muss auch zugeben, dass ich Deinen Ansatz nicht verstehe.

In Wellen 2-4 soll den Teilnehmenden jeweils eine Antwort einer Person zugeteilt werden, die in einer vorherigen Welle angegeben wurde.

Soll das heißen, irgendwo steht dann in einer Frage
In der ersten Welle hat jemand diese Frage mit "ziemlich schlecht" beantwortet. Was meinen Sie dazu??

Wenn Du dies noch einmal erklären würdest, ...


Ja, quasi. Teilnehmende sollen in Welle 1 einen Text in eigenen Worten wiedergeben. Dieser neue Text wird dann neuen Teilnehmenden in Welle 2 vorgelegt, woraufhin Sie Ihn auch als Vorlage für ihren Text nehmen. Zu guter Letzt formuliert Welle 4 einen Text auf Basis von Welle 3.

Ich glaube meine Beschreibung als "Welle" war daher missverständlich. Es soll keine Person mehr als einmal rekrutiert werden, jede "Welle" beinhaltet also neue Teilnehmende.

Joffm wrote: Übrigens, wenn es sich wirklich um EINE Antwort aus der vorigen Welle handelt, könntest Du diese natürlich einfach als TOKEN_ATTRIBUTE in der zweiten Welle einfügen.
Damit es denn zufällig ist, lass Deine Oma entscheiden, wer welche Antwort sieht.

Und damit bin ich endlich im richtigen Fahrwasser.
Wieso nimmst Du nicht einfach ein TOKEN_ATTRIBUT und vergibst die Zahlen von 1-100 zufällig an die einzelnen Personen.
So könnte man auch mehrere ATTRIBUTE nehmen, damit die Zahlen in den verschiedenen Wellen unterschiedlich sind.

Und ich belästige immer die Oma, um klar zu machen, dass es eine Person sein soll, die nichts mit der Umfrage zu tun hat.

Das würde aber nur funktionieren, wenn ich Teilnehmende über den survey participants table zuerst registriere und dann per Mail einlade, oder?
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago #207454 by Joffm
Replied by Joffm on topic 1 zu 1 Zufallszuweisung
Dein letzter Satz trifft es.
Bei einer offenen Studie ist die Oma natürlich nicht vonnöten und das TOKEN_ATTRIBUT nicht vorhanden.
Und wenn Du LimeSurvey nicht selbst hostest werden Dir die Rechte fehlen. Das php-Nicht-Wissen ist nicht so dramatisch - da würde ich Dich schon unterstützen (es ist wirklich ein "Pipifax-Script").

Ich werde einmal überlegen, ein Testbeispiel erstellen und dann schauen wir weiter.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago #207477 by Joffm
Replied by Joffm on topic 1 zu 1 Zufallszuweisung
Hallo,
zusätzlich zu der Frage, wie Du es bewerkstelligen willst, mit einer Zahl von 1-100 den zugehörigen Text einzublenden, hier noch eine Überlegung.

Irgendwo in Deiner Studie wird also eine eindeutige Zahl erzeugt.
Dies kann man machen, indem man in einer Datenbank eine noch nicht benutzte Zahl sucht. Okay.
Dann wird der Text angezeigt, und es muss dafür gesorgt werden, dass diese Zahl auf "benutzt" gesetzt wird.
Auch okay.

ABER: Was passiert, wenn der Teilnehmer dann keine Lust mehr hat und die Umfrage einfach schließt.
Dann wäre eine Zahl "verbrannt".

Also darf man eine Zahl erst dann auf "benutzt" setzen, wenn der Teilnehmer die Umfrage beendet hat.
Geht auch. Dazu könnte man in der end-url auf ein weiteres script führen, welches augenscheinlich nur eine schöne "Danke"-Meldung zeigt, im Hintergrund aber den Status der Zahl entsprechend setzt.

Wie sind Deine Gedanken dazu?

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago #207487 by Joffm
Replied by Joffm on topic 1 zu 1 Zufallszuweisung
Meine schöne Idee klappt aber auch nicht, da ja mehrere Personen gleichzeitig die Umfrage bearbeiten könnten.
Dann kann es passieren, dass beide dieselbe Zahl erhalten, da diese ja erst auf "benutzt" gesetzt wird, wenn der erste die Umfrage abschließt.
Das ist ein normales Problem, dass es ja auch bei Quoten gibt. (Eine Quote wird erst hochgezählt, wenn das Interview "complete" ist).

Also, ich denke, Du musst Deinen Ansatz noch einmal überdenken.

Die "Hau-Ruck-Lösung" ist natürlich eine Zufallszahl zu erzeugen, und die Umfrage so lange laufen zu lassen, bis jede Zahl einmal vorgekommen ist. (Du bezahlst den Teilnehmern ja nichts, oder?)
Dann hast Du natürlich - wie schon gesehen - eine Menge mehrfacher Zahlen.
Hier kannst Du jetzt - wenn Du denn willst - die Oma strapazieren, die Dir dann auf Zuruf sagt, welche Datensätze gelöscht werden (kannst Du natürlich auch per Zufall in EXCEL machen).

In einer sophisticated Variante könntest Du auch in einer nachgeschalteten Gleichung Zahlen, die schon vorgekommen sind, umswitchen auf noch fehlende (das musst Du dann händisch machen, aber es lässt sich auch in einer aktiven Studie bewerkstelligen).

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: pmeiners
The topic has been locked.
  • pmeiners
  • pmeiners's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 5 months ago #207507 by pmeiners
Replied by pmeiners on topic 1 zu 1 Zufallszuweisung
Hallo, danke für deine Mühe. Solange Teilnehmende gleichzeitig rekrutiert werden scheint es mir dann tatsächlich nicht gut durchführbar. Dann werde ich versuchen müssen, es per Direkteinladung zu machen.
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose