- Posts: 21
- Thank you received: 0
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Help materials for Version 6
- AideenW
- Topic Author
- Offline
- Junior Member
Your LimeSurvey version: 6.4.0
Own server or LimeSurvey hosting: own
Survey theme/template: kuleuven
==================
I am trying to set up my survey as a first time user, but I can't find any (English) materials that offer help or guidance and also refer to the version I am using (6.4.0). Specifically, I am trying to create a randomization format as follows:
3 parts to the survey, each divided evenly into 3. Part 1=Names, Part2= Behaviors, Part3= Graphs.
I want my participants to randomly answer a select number from each of these three sections (i.e., Part1 includes 33 names, I want participants to be shown a random selection of 11). It's also important that each question in each part of the survey is answered an even amount of times, so that one question does not have more responses recorded than another. Moreover, I want the presentation of each Part to be random also, so that each participant gets a different order in completing the survey.
Please Log in to join the conversation.
- holch
- Offline
- LimeSurvey Community Team
- Posts: 11712
- Thank you received: 2756
However, I am not 100% sure what your survey will look like, what types of questions you are using, etc.
But I can tell you already one thing:
It's also important that each question in each part of the survey is answered an even amount of times, so that one question does not have more responses recorded than another.
This probably won't fly, at least not with a decent amount of adaption. If you randomize, you use "chance". The bigger the sample, the closer the probability of an even distribution. But it usually just gets close, it never is 100% equal. So, then you would have to get rid of "Chance" or at least help "chance" by creating something like a bucket least filled concept. To be honest, I think this is overkill. As long as the questions have been shown/answered fairly evenly, it should be fine. If you analyze something and one question has been shown 90 times and the other one 110 times, there should be no major difference to 100/100.
But to be able to help you, it would be great if you could provide is with a little mockup of your survey. It doesn't need to be complete and it doesn't need to show the actual questions, but it would help to understand better what you are trying to setup.
If we ignore the fact that you want to guarantee an absolute even distribution of each question (the issues of which I have explained above), this is actually not overly complicated, if I understood you right.
This would involve to create 6 question groups, 2 for each part. From now on, I will focus on the explanation for 1 part only, as for the others it is just the same. It doesn't matter if you have just 1 part or 10.000, things will follow the same idea.
So now you have 2 question groups, lets call them "names1" and "names2".
In the group "names1" you will put 11 questions for the names, in "names2" you will put the other 22 questions. Each of these 33 questions will receive the same code in the "randomization group name" field of each question.
What will this do? It will shuffle the 33 questions randomly over the 33 question positions within the 2 question groups. Now if this works fine, you just hide the group "names2" and there will always only be shown the question group "names1" with 11 random questions out of the pool of 33 questions.
You'll do the same for the 2 other parts (of course depending on the number of questions you have and what to show in each part).
So far, so good. Now you have 3 parts and in each part you will see a random selection of the whole pool of questions for this specific part.
What is missing? The randomization of the parts. That is easy as well. You'll give each question group that is shown (e.g. "names1", "behaviors1" and "graphs1") the same code in the field "randomization group name" in the respective question groups, and voila, now Limesurvey will show your question groups (or "parts" how you call them) in a random order.
Now the issue is that we depend on chance, and as we have seen before, depending on the sample size, this will most probably lead to a "relatively" even distribution of each question, but chances are very little that the distribution will be exactly even.
How to solve this?
Option 1. Get rid of this "illusional" requirement
Option 2. Manually adapt during the field time. You can have a look into the statistics and see how often a specific question has been seen / answered. If one is too far ahead, just give it a "0" in the "relevance equation"/condition field and it won't show up again. If you take out the zero, it will be in the shuffle again.
Option 3. create a complicated bucket least filled system based on the statistics functions from within Limesurvey. But this can be quite complicated with the number of options you have.
Option 4. Create fixed groups of questions for each part and show them randomly. E.g. create 3 groups per part and put 11 questions fixed into each of these question groups. This allows you to easier control the distribution. within the quesiton group you can still randomize the questions in terms of order. However, it will of course not be a perfect randomization either, as there are always 11 questions together.
I am sure, Joffm will have some ideas too.
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.
- Joffm
- Away
- LimeSurvey Community Team
- Posts: 13058
- Thank you received: 4021
I nearly wrote the same but got a flood protection error and everything was gone.
The solution with nested randomization groups is straightforward and easy to implemend.
Other solutions require some javascript, but also can't solve the contradiction of "randomly" and "equal"
As @holch, send a lss export of a sample survey.
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- AideenW
- Topic Author
- Offline
- Junior Member
- Posts: 21
- Thank you received: 0
Firstly, thank you so much for the help! Your response helped me make good advancements in coding my survey
I'm a little stuck though on how to hide the question groups in order to enable the randomization part. I have 2x groups for names, and have n=11 names in one, with n=22 names in the second. For all the questions in the second group, I went into each question and set the option always hide this question to ON, but when i tested out the survey, it didn't work properly... Is there another option I should have checked to hide the questions (or indeed the question groups)?
Another question: for each of the 33 names, I have 3x questions about each name. I would ideally like these questions to directly follow one after the other, and set up conditions that should have allowed this (i.e., show question b if question a is answered), but it seems to not have worked as I wanted to. I know this is again a contradiction of 'random'', but the alternative of making 33x groups with 3 questions seems like it would create more problems (with overall randomization and question presentation) than solutions. Any ideas? I know on Qualtrics you can create a block with separate questions, and you have a relative level of freedom with determining how the block behaves, but Limesurvey doesn't seem to have that option avaliable....
Finally, I appreciate the points about the randomization I'm trying to achieve and while I'm aware it's a bit of an oxymoron to want randomized yet equally answered questions, its because my sample is only going to be around 50 people, so if I was to take a truly randomized approach then I would likely end up with very unbalanced response rates across questions. And while I don't need the rates to be perfectly distributed, I do need some level of size comparability to enable the analyses. (note: this is only a pilot study hence the very small sample).
Please Log in to join the conversation.
- Joffm
- Away
- LimeSurvey Community Team
- Posts: 13058
- Thank you received: 4021
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- AideenW
- Topic Author
- Offline
- Junior Member
- Posts: 21
- Thank you received: 0
Please Log in to join the conversation.
- AideenW
- Topic Author
- Offline
- Junior Member
- Posts: 21
- Thank you received: 0
Please Log in to join the conversation.
- Joffm
- Away
- LimeSurvey Community Team
- Posts: 13058
- Thank you received: 4021
This would be nearly correct if you had only one question per name.I have 2x groups for names, and have n=11 names in one, with n=22 names in the second. For all the questions in the second group, I went into each question and set the option always hide this question to ON,
And you must not hide the questions in the second group; you want to display them.
You only set the relevance of the second group to 0
Then all 33 names are shuffled and the 11 names that land in group 1 are displayed.
But as said, it doesn't work as you want to ask three questions for each name (and LimeSurvey does not support "group in group")
But it is rather easy,
as long as you are allowed to use javascript (if not, there is also a solution only with equations but a bit lengthy)
The idea is:
You create 33 groups, each containing the three questions to one name.
All these groups get the same "randomization group name"
In a script you select randomly 11 out of your 33 options.
And with the condition you display these 11 groups.
Now my question:
Are you allowed to use javascript?
I ask because on one hand you say you are a first time user, but on the other side you use a customized theme.
So, is it something like a university installation?
You can easily test.
Insert this script in the question text (in source code mode)
<script type="text/javascript" charset="utf-8"> $(document).on('ready pjax:scriptcomplete',function(){ alert("Hello, javascript speaking"); }); </script>
If the popup with the message appears, everything is fine.
I will create an example later today
Joffm
Two more things
1. Do not iuse the "Condoition-Designer". Nowadays we use ExpressionScript. Easier, faster, mightier.
2. Do not use the 5-point-choice to avoid that you have to explain the scale.
Better a simple list(radio) or bootstrap buttons, or an array with only one subquestion.
5-point choice is useful if you want to show a star-rating, o.ä.
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- holch
- Offline
- LimeSurvey Community Team
- Posts: 11712
- Thank you received: 2756
for each of the 33 names, I have 3x questions about each name.
That is exactly why we ask for a LSS file, because this would have been a very important information from the get go. I could have saved myself a lot of writing, because my solution is simple, but it only works if the questions are truly random and there is no necessary sequence of 3 questions, but just a single question.
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.
- Joffm
- Away
- LimeSurvey Community Team
- Posts: 13058
- Thank you received: 4021
I saw that you entered the same randomization group name into each of the 99 name questions.
This means, all these questions are shuffled and appear in any possible order, like
"Lunds","KukksReminder","Rians", TammsJa",...
I am not willing to remove all of them.
Therefore I will show you a small example with 4 out of 10 name groups.
And what about the three behaviour groups. You want to show one of them randomly?
Well, this is done by a random number.
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- Joffm
- Away
- LimeSurvey Community Team
- Posts: 13058
- Thank you received: 4021
here an example.
1. As there was no English translation yet, I removed this language to get a smaller lss file.
2. I did not change anything in the behaviour groups, only created a random number (eqRandom) to display one of them.
3. As mentioned before the name question is only 4 out of 10.
See the script in "eqSelect" how to adapt to 11 out of 33.
And see how the condition is set to display these 11 names (function "strpos(haystack,needle)"
[url] manual.limesurvey.org/ExpressionScript_-...mplemented_functions [/url]
4. In the first name group (Tamms) changed the question type from your 5-point-choice to array. Probably better
5. You see, in the Reminder questions there is entered this condition
((is_empty(Salas.NAOK) or (!is_empty(Salas.NAOK) && (Salas.NAOK == 1)) or (!is_empty(Salas.NAOK) && (Salas.NAOK == 2)) or (!is_empty(Salas.NAOK) && (Salas.NAOK == 3)) or (!is_empty(Salas.NAOK) && (Salas.NAOK == 4)) or (!is_empty(Salas.NAOK) && (Salas.NAOK == 5))))
Do you see, what it means?
Either the question "Salas" was not answered or it was answered with 1, 2, 3, 4 or 5
And these are all possible outcomes. So the next question is always displayed and the condition is obsolete.
Also this
!is_empty(Salas.NAOK && Salas.NAOK == 1
If it is equal 1, it is obvious that it is not empty.
Okay, you used the condition builder. Again, don't do it.
6. In "Graphs I changed the question type to bootstrap button.
In my opinion it is really annoying if you have to click twice to enter your answer, especially if there are only two options - one click to open the drop-down, one click to select the answer option.
7. In the very last question I changed the width of the label to 0, same as in "Tamms".
8. As said before LimeSurvey does not support "group in group". Therefore you can't achieve the randomization of your three parts.
But in the example "Graphs" and "Behaviour" are displayed in random order, that there is either "B - N- G" or "G - N - B". Should be sufficient
Now generally:
Please revise your design!
I should say you will get a lot of dropouts, because it's so boring. You see, 15 times the same question, then the same - 11 times the same three questions.
Without time to relax, without feedback, only fired questions, one after the other.
Please, read this zipped pdf
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- Joffm
- Away
- LimeSurvey Community Team
- Posts: 13058
- Thank you received: 4021
If you arrange your groups like this
Behaviour 1: Randomization group name "RG2"
Behaviour 2: Randomization group name "RG2"
Names: Randomization group name "RG1" (to shuffle the name groups)
Behaviour 3: Randomization group name "RG2"
Graph: Randomization group name "RG2"
you will get a randomized order of the three parts
The four RG2 groups are shuffled among the four positions, but only two - one behaviour and graph are displayed.
So there can be two before the names, one before and one after the names, or two after the names.
Don't forget to hide "eqRandom"
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.