Frage bei mir an um einen kostenfreien Zugang zu Limesurvey zu bekommen. Mit diesem kannst du auch Studierende der IU als Probanden rekurtieren. Voraussetzung: du wirst von mir bei deiner Abschlussarbeit betreut.
Bedienungsanleitung
https://manual.limesurvey.org/LimeSurvey_Manual/de
(Danke an Katrin für die beiden folgenden Links)
LimeSurvey-Video Tutorial: Umfrage erstellen
https://www.youtube.com/watch?v=6CmprzyzMEQ
Danke an Tina für den folgenden Link zur Randomisierung von Fragen:
https://www.youtube.com/watch?v=Amw6es91BpA
Gehe dazu zuerst auf die entsprechende Fragegruppe und klicke auf Source. Füge den folgenden Code unterhalb des Fragetextes ein:
//this creates a 'Weiter' button
<button class="btn btn-primary my_button">Weiter</button>
//hier kommt das script
<script type="text/javascript" charset="utf-8">
//die Inhalte werden erst ausgeführt, wenn alles geladen ist
$(document).ready(function() {
//this hides all questions
$('.question-container:not(".boilerplate")').hide();
$(".my_button").click(function(event) {
var d1 = "#" + $(this).closest(".question-container").attr("id");
var d2 = "#" + $(this).closest(".question-container").nextAll(".question-container:first").attr("id");
event.preventDefault();
var div1 = $(d1);
var div2 = $(d2);
if (div1.is(":visible")) {
div1.hide();
div2.show();
} else {
div1.show();
div2.hide();
}
});
});
</script>
Gehe danach zu den einzelnen Fragen, klicke jeweils auf Source und füge bei jeder Frage unterhalb des Fragetextes den folgenden Code ein:
//this creates a 'Weiter' button
<button class="btn btn-primary my_button">Weiter</button>
Erstelle eine zufällige Reihenfolge Deiner zu testenden Bedingungen als Komma-getrennten String. Bei 5 Bedingungen (Nummern 1–5), die jeweils 30-mal über die Probandinnen und Probanden hinweg abgefragt werden sollen, könnte das zum Beispiel so aussehen. Dazu kann man R oder ChatGPT benutzen:
2,1,1,3,3,5,2,4,4,2,2,5,5,4,3,4,1,2,1,2,2,1,2,5,2,3,3,1,1,2,2,1,1,3,4,5,1,1,3,3,4,1,4,3,1,5,2,1,4,4,5,5,4,5,2,4,4,4,3,1,2,4,2,3,1,1,1,2,1,5,5,3,4,4,3,5,2,1,3,4,2,3,3,4,5,2,5,3,1,3,3,4,2,5,2,3,5,3,2,4,3,5,5,5,3,5,4,1,4,5,5,1,5,2,2,3,5,4,2,5,3,4,2,3,1,1,1,4,5,1,5,3,4,3,2,4,3,1,4,4,5,2,1,5,2,4,2,1,3,5
Kopiere diesen Text in den Code unten an die Stelle, die mit DiesenTextMitKopiertenStringErsetzen bezeichnet ist. Ersetze dabei den gesamten Platzhalter durch den kopierten String.
<input id="curpart" type="hidden" value="{SAVEDID}" />
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
$('#questionQUESTIONID').css('display', 'none');
curpart = $("#curpart").val();
const mycond = [DiesenTextMitKopiertenStringErsetzen];
$('#answerFRAGEBOGENIDXGRUPPENIDXQUESTIONID').val(mycond[curpart]);
});
</script>
Gehe zu Deiner ersten Fragegruppe und erstelle eine neue Frage. Gehe anschließend zu Struktur und notiere die Fragebogen-ID. Gehe dann zum Menü List Questions und finde die Question-ID der neuen Frage heraus. Gehe zum Schluss zu List Question Groups und notiere die Fragegruppen-ID, in der sich die neue Frage befindet.
QUESTIONID mit der Question-ID im obigen Code an zwei Stellen.FRAGEBOGENID mit der Fragebogen-ID im obigen Code an einer Stelle.GRUPPENID mit der Fragegruppen-ID im obigen Code an einer Stelle.Achte darauf, wirklich nur diese Strings zu ersetzen und den restlichen Code unberührt zu lassen, zum Beispiel die X zwischen GRUPPENID und QUESTIONID.
Gehe zu der neu erstellten Frage, klicke auf Source in der Frage und kopiere den jetzt vervollständigten obigen Code hinein. Speichere die Frage ab.
Was macht der Code? Der Code bestimmt die Nummer der Bedingung, die der teilnehmenden Person gezeigt werden soll.
Jetzt musst Du nur noch die Fragegruppen den Bedingungen zuweisen. Dazu gehst Du zu jeder Fragegruppe und trägst die Bedingung, zu der die Fragegruppe gehört, in die Relevanzgleichung ein:
randcond==Bedingungsnummer
Dabei kann die Bedingungsnummer im obigen Beispiel 1, 2, 3, 4 oder 5 sein. Zum Beispiel:
randcond==3
Damit weist Du die Fragegruppe der dritten Bedingung zu.
In manchen Umfragen möchte man nicht, dass alle Teilnehmenden dieselben Fragen sehen. Stattdessen soll LimeSurvey aus mehreren möglichen Fragen zufällig genau eine Frage auswählen.
Beispiel: Es gibt 6 mögliche Fragen. Jede teilnehmende Person soll aber nur eine dieser 6 Fragen sehen.
Das kann man in LimeSurvey mit einer kleinen Zufallslogik lösen.
Wir brauchen dafür zwei Dinge:
Man kann sich das so vorstellen:
| Zufallszahl | Angezeigte Frage |
|---|---|
| 1 | Frage 1 |
| 2 | Frage 2 |
| 3 | Frage 3 |
| 4 | Frage 4 |
| 5 | Frage 5 |
| 6 | Frage 6 |
Jede teilnehmende Person bekommt also zufällig eine Zahl. Diese Zahl entscheidet dann, welche Frage angezeigt wird.
In LimeSurvey gibt es auch eine Funktion namens Randomization group.
Diese Funktion mischt normalerweise nur die Reihenfolge von Fragen. Sie sorgt nicht automatisch dafür, dass nur eine einzige Frage angezeigt wird.
Für unser Ziel brauchen wir deshalb eine andere Lösung.
Lege am Anfang der Umfrage eine neue Fragengruppe an.
Zum Beispiel:
Randomisierung
Diese Gruppe sollte vor den eigentlichen Fragen stehen, die zufällig ausgewählt werden sollen.
Erstelle in dieser Gruppe eine neue Frage.
Wähle als Fragetyp:
Equation
Gib dieser Frage den Fragecode:
RANDQ
Der Name RANDQ ist nur ein Beispiel. Er steht hier für „random question“, also „zufällige Frage“.
In den Fragetext beziehungsweise in das Gleichungsfeld dieser Equation-Frage schreibst du:
{if(is_empty(RANDQ.NAOK), floor(rand(1,6.9999)), RANDQ.NAOK)}
Diese Formel erzeugt zufällig eine Zahl von 1 bis 6.
Du musst die Formel nicht vollständig programmieren können. Wichtig ist nur die Grundidee.
Dieser Teil erzeugt eine Zufallszahl zwischen 1 und knapp 7:
rand(1,6.9999)
Dieser Teil rundet die Zahl nach unten ab:
floor(...)
Dadurch entstehen nur ganze Zahlen:
1, 2, 3, 4, 5 oder 6
Dieser Teil sorgt dafür, dass die Zufallszahl nicht ständig neu erzeugt wird:
if(is_empty(RANDQ.NAOK), ..., RANDQ.NAOK)
Das ist wichtig, falls jemand in der Umfrage zurück- und wieder weiterklickt. Die Person soll dann dieselbe zufällige Frage behalten.
Die Zufallszahl soll nicht für die Teilnehmenden sichtbar sein.
Stelle deshalb bei der Equation-Frage ein:
Always hide this question = On
Je nach Spracheinstellung kann diese Option auch ungefähr so heißen:
Diese Frage immer verstecken
oder:
Frage immer ausblenden
Jetzt legst du die Fragen an, von denen später nur eine angezeigt werden soll.
Zum Beispiel:
Q1
Q2
Q3
Q4
Q5
Q6
Du kannst natürlich auch andere Fragecodes verwenden.
Wichtig ist nur: Jede dieser Fragen bekommt eine Bedingung, wann sie angezeigt werden soll.
Bei jeder Frage gibt es ein Feld für die sogenannte Relevance equation oder Relevanz-Gleichung.
Dort trägst du ein, wann die jeweilige Frage angezeigt werden soll.
Wichtig: In diesem Feld werden normalerweise keine geschweiften Klammern geschrieben.
Also nicht:
{RANDQ == 1}
sondern:
RANDQ == 1
Bei Frage 1 trägst du als Relevanz-Gleichung ein:
RANDQ == 1
Diese Frage wird nur angezeigt, wenn die Zufallszahl 1 ist.
Bei Frage 2 trägst du ein:
RANDQ == 2
Diese Frage wird nur angezeigt, wenn die Zufallszahl 2 ist.
Bei Frage 3 trägst du ein:
RANDQ == 3
Bei Frage 4 trägst du ein:
RANDQ == 4
Bei Frage 5 trägst du ein:
RANDQ == 5
Bei Frage 6 trägst du ein:
RANDQ == 6
Für 6 mögliche Fragen brauchst du also:
Fragecode:
RANDQ
Formel:
{if(is_empty(RANDQ.NAOK), floor(rand(1,6.9999)), RANDQ.NAOK)}
| Frage | Relevanz-Gleichung |
|---|---|
| Frage 1 | RANDQ == 1 |
| Frage 2 | RANDQ == 2 |
| Frage 3 | RANDQ == 3 |
| Frage 4 | RANDQ == 4 |
| Frage 5 | RANDQ == 5 |
| Frage 6 | RANDQ == 6 |
Wenn du nicht 6, sondern zum Beispiel 10 mögliche Fragen hast, musst du die Formel anpassen.
Für 10 Fragen wäre die Formel:
{if(is_empty(RANDQ.NAOK), floor(rand(1,10.9999)), RANDQ.NAOK)}
Dann brauchst du Relevanz-Gleichungen von:
RANDQ == 1
bis:
RANDQ == 10
Falsch:
{RANDQ == 1}
Richtig:
RANDQ == 1
Die Equation-Frage mit der Zufallszahl muss vor den Fragen stehen, die zufällig angezeigt werden sollen.
Sonst kennt LimeSurvey die Zufallszahl noch nicht.
Die Equation-Frage sollte versteckt werden.
Sonst sehen Teilnehmende eine technische Hilfsfrage oder eine Zahl, die für sie keinen Sinn ergibt.
Die Randomization group ist sinnvoll, wenn Fragen in zufälliger Reihenfolge erscheinen sollen.
Sie ist aber nicht ausreichend, wenn nur eine von mehreren Fragen angezeigt werden soll.
Angenommen, du möchtest zufällig eine von drei Fragen anzeigen:
Dann legst du zuerst eine versteckte Equation-Frage mit dem Code RANDQ an:
{if(is_empty(RANDQ.NAOK), floor(rand(1,3.9999)), RANDQ.NAOK)}
Danach bekommen die drei Fragen diese Relevanz-Gleichungen:
| Frage | Relevanz-Gleichung |
|---|---|
| Stress-Frage | RANDQ == 1 |
| Motivations-Frage | RANDQ == 2 |
| Zufriedenheits-Frage | RANDQ == 3 |
Damit sieht jede teilnehmende Person zufällig genau eine dieser drei Fragen.
Die versteckte Equation-Frage würfelt eine Zahl. Die Relevanz-Gleichungen entscheiden, welche Frage zu dieser Zahl passt.
Für die Studierenden, mit denen ich zusammenarbeite, biete ich an, dass diese die Studiendurchführung über den IU-Probandenpool durchführen können. Das spart euch Zeit, Probanden selber zu suchen. Die Probanden sind auch etwas motivierter, dadurch dass sie Teilnehmerpunkte bekommen. Es handelt sich jedoch bei diesem Pool um junge Teilnehmende, die Psychologie studieren.
Wie geht ihr vor, um in diesem Pool die Umfrage durchzuführen?
Was wird dann passieren?
Nach dem Durchführen der obigen Schritte müsst ihr nichts weiter tun.
Ich werde euren Fragebogen bearbeiten, sodass er mit Sona Systems zusammenarbeiten kann, und auf Sona Systems, dem IU-Probandenpool, einen entsprechenden Eintrag erstellen, der Studierende auf eure Umfrage hinweist. Dies muss noch vom Probandenpoolleiter approved werden. Insgesamt dauert dies ca. 7 Tage.
Der Fragebogen wird dann automatisch nach dem Approval online gestellt und die Daten werden gesammelt. Ihr könnt das live in LimeSurvey verfolgen.
Fügt eine Nummer bei jeder Antwortoption ein, zum Beispiel:
1 - überhaupt nicht
2
3
4 - geht so
5
6
7 - vollkommen
Verlinkung von LimeSurvey und Sona Systems
https://www.sona-systems.com/help/limesurvey/