- Posts: 6
- Thank you received: 0
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Teilfragen randomisieren mit ausnahmen
- Ildelmloi_249477
- Topic Author
- Offline
- Banned
Less
More
1 year 5 months ago #233128
by Ildelmloi_249477
Teilfragen randomisieren mit ausnahmen was created by Ildelmloi_249477
Bitte helfen Sie uns, Ihnen zu helfen und füllen Sie folgende Felder aus:
Ihre LimeSurvey-Version: Version 5.4.7
Eigener Server oder LimeSurvey-Cloud: LimeSurvey-Cloud
Genutzte Designvorlage: Erben [fruity]
==================
Hallo
ich muss bei einer Matrix-Frage die Teilfragen (a bis h) randomisieren mit der Ausnahme von a und e... leider konnte ich online nicht herausfinden wie das geht
Ich hoffe jemand hier kann mir weiterhelfen.
Ich bedanke mich schon im Voraus!!
Ihre LimeSurvey-Version: Version 5.4.7
Eigener Server oder LimeSurvey-Cloud: LimeSurvey-Cloud
Genutzte Designvorlage: Erben [fruity]
==================
Hallo
ich muss bei einer Matrix-Frage die Teilfragen (a bis h) randomisieren mit der Ausnahme von a und e... leider konnte ich online nicht herausfinden wie das geht
Ich hoffe jemand hier kann mir weiterhelfen.
Ich bedanke mich schon im Voraus!!
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 12790
- Thank you received: 3940
1 year 5 months ago #233148
by Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic Teilfragen randomisieren mit ausnahmen
Hier würde ich ganz pragmatisch vorgehen.
Zunächst: Wenn du diese sechs Items randomisierst, hast Du 720 verschiedene Möglichkeiten.
Jetzt kannst Du einmal ausrechnen. wieviele Teilnehmer Du benötigst, um alle diese Möglichkeiten mindestens einmal zu erhalten.
Daher:
Bilde vier Fragen mit festen, aber unterschiedlichen Reihenfolgen, z.B.
1: a,b,c,d,e,f,g,h
2: a,h,g,f,e,d,c,b
3: a.b,g,c,e,d,f,h
4: a,f,g,b,e,c,h,d
oder irgendwie so ähnlich.
Hierbei würde ich die Codes der einzelnen immer identisch lassen, da es das spätere Umstrukturieren für die Auswertung erleichtert
Dann am Anfang eine Zufallszahl {if(is_empty(zufall),rand(1,4),zufall)}
und eine der Fragen mittels Bedingung einblenden.
Und jetzt kommt die sophisticated Lösung.
Benutze tayloring.
In einer Frage vom Typ "kurzer Text" (sie möge QText heißen) folgendes script
Das sieht dann so aus
Dann kannst Du nacheinander die Zeichen dieses Strings herausgreifen (mit der Funktion "substr") und in den Teilfragentext mit einem verschachtelten IF den entsprechenden Text einblenden, wie
1. Teilfrage ist ja klar, das ist a
2. Teilfrage (Zeilenumbrüche nur zum besseren Lesen, dürfen im Code nicht enthalten sein)
{if(substr(QText,0,1)=="2","Text Frage b",
if(substr(QText,0,1)=="3","Text Frage c",
if(substr(QText,0,1)=="4","Text Frage d",
if(substr(QText,0,1)=="6","Text Frage f",
if(substr(QText,0,1)=="7","Text Frage g","Text Frage h"
)))))}
Bei der dritten Teilfrage wird dann das zweite Element des Textes genommen, also "substr(QText,1,1)", usw.
Später sieht man dann in QText, in welcher Reihenfolge die Fragen angezeigt wurden.
Geht, ist aber etwas Mühe beim Umstrukturieren; es sei denn, man macht sich ein kleines Makro in EXCEL
Joffm
Zunächst: Wenn du diese sechs Items randomisierst, hast Du 720 verschiedene Möglichkeiten.
Jetzt kannst Du einmal ausrechnen. wieviele Teilnehmer Du benötigst, um alle diese Möglichkeiten mindestens einmal zu erhalten.
Daher:
Bilde vier Fragen mit festen, aber unterschiedlichen Reihenfolgen, z.B.
1: a,b,c,d,e,f,g,h
2: a,h,g,f,e,d,c,b
3: a.b,g,c,e,d,f,h
4: a,f,g,b,e,c,h,d
oder irgendwie so ähnlich.
Hierbei würde ich die Codes der einzelnen immer identisch lassen, da es das spätere Umstrukturieren für die Auswertung erleichtert
Dann am Anfang eine Zufallszahl {if(is_empty(zufall),rand(1,4),zufall)}
und eine der Fragen mittels Bedingung einblenden.
Und jetzt kommt die sophisticated Lösung.
Benutze tayloring.
In einer Frage vom Typ "kurzer Text" (sie möge QText heißen) folgendes script
Code:
<script type="text/javascript" charset="utf-8"> function shuffle(array) { var currentIndex = array.length, temporaryValue, randomIndex; // While there remain elements to shuffle... while (0 !== currentIndex) { // Pick a remaining element... randomIndex = Math.floor(Math.random() * currentIndex); currentIndex -= 1; // And swap it with the current element. temporaryValue = array[currentIndex]; array[currentIndex] = array[randomIndex]; array[randomIndex] = temporaryValue; } return array; } $(document).on('ready pjax:scriptcomplete',function(){ // Fill the array with your prices var arr = [2,3,4,6,7,8]; // Shuffle the array arr = shuffle(arr); // Pick only the first element of the array arr = arr.join(''); // Fill the question with this element $('#question{QID} input[type="text"]').val(arr); // After testing hide the question by removing the slashes of the next line // $('#question{QID}').hide(); }); </script>
Das sieht dann so aus
Dann kannst Du nacheinander die Zeichen dieses Strings herausgreifen (mit der Funktion "substr") und in den Teilfragentext mit einem verschachtelten IF den entsprechenden Text einblenden, wie
1. Teilfrage ist ja klar, das ist a
2. Teilfrage (Zeilenumbrüche nur zum besseren Lesen, dürfen im Code nicht enthalten sein)
{if(substr(QText,0,1)=="2","Text Frage b",
if(substr(QText,0,1)=="3","Text Frage c",
if(substr(QText,0,1)=="4","Text Frage d",
if(substr(QText,0,1)=="6","Text Frage f",
if(substr(QText,0,1)=="7","Text Frage g","Text Frage h"
)))))}
Bei der dritten Teilfrage wird dann das zweite Element des Textes genommen, also "substr(QText,1,1)", usw.
Später sieht man dann in QText, in welcher Reihenfolge die Fragen angezeigt wurden.
Geht, ist aber etwas Mühe beim Umstrukturieren; es sei denn, man macht sich ein kleines Makro in EXCEL
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: Ildelmloi_249477
Please Log in to join the conversation.
- holch
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 11758
- Thank you received: 2753
1 year 5 months ago #233186
by holch
I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.
Replied by holch on topic Teilfragen randomisieren mit ausnahmen
Warum wurde die gleiche Fragen zweimal gestellt, unter unterschiedlichen Nutzernamen?
I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.
Please Log in to join the conversation.
Moderators: Joffm