0 votes
in SoSci Survey (English) by s362974 (110 points)

Hello!
I find myself quite confused about implementing my design into SoSci using Random Generator. I have 3 experimental groups who will receive a completely different set of questions (which I have created). I have two types of questions (Age and Number), so my questions look like: Age_1_G1, Age_2_G1... where the first number stands for the question identifier and G stands for experimental group. Each group receives 6 questions per type.
I would like that each group receives their specific set, that each question appears on a different page, that their order be rotated (or ideally, pseudorandomized such that one type of question (for eg Age) does not appear more than two times in a row).

I already have my random generator on one page but am very confused with what php code to insert where. I tried to follow the example on your Questions on different Pages tutorial but to no avail. I would be grateful for any guidance you may offer.

ps: do all my questions (12 per group, 36 in total) have to be under the "section" random generator or can they have their own section?

Thank you very much and best wishes

by SoSci Survey (370k points)
What is the difference between the paired questions, how do Age_1_G1 and Age_1_G2 differ?
by s362974 (110 points)
The response choices differ across the groups, ie between Age_1_G1, Age_1_G2 and Age_1_G3

1 Answer

0 votes
by SoSci Survey (370k points)

The response choices differ across the groups, ie between Age_1_G1, Age_1_G2 and Age_1_G3

It may be a better idea in this case to create one question will all response options and use a PHP filter tzo display only a part of the options per group:

$group = value('RG01');
if ($group == 1) {
  question('AG01', '1-5');
} elseif ($group == 2) {
  question('AG01', '3-7');
} elseif ($group == 3) {
  question('AG01', '5-9');
}

You can use the same filtering to vary between the questions. Feel free to post you non-working code as comment to this answer, so I cann tell you details. Verying the questions on each page makes sense if you have a common part in the questionnaire that is the same for all groups. Otherwise, it may be a better idea to create separate questionnaires and use a filter with goToQuestionnaire() to send the people to the different questionnaires.

by s362974 (110 points)
Thanks! I followed your advice and created questions with all possible responses. I created separate pages for each question (named AGE1,...,NUM6). I then dragged the RG01 to the page before AGE1 and added:
question('RG01');

$pages = array(
  'AGE1', 'AGE2', 'AGE3', 'AGE4', 'AGE5', 'AGE6',
  'NUM1', 'NUM2', 'NUM3', 'NUM4', 'NUM5', 'NUM6'
);
shuffle($pages);
setPageOrder($pages, 'POSTEXP');

Then to each of my question pages I added:
(for question with ID AG01)

$group = value('RG01');

if ($group == 1) {
  question('AG01', '1,2,3');
} elseif ($group == 2) {
  question('AG01', '1,2,4');
} else {
  question('AG01', '1,2,5');
}

(for question with ID AG02)
$group = value('RG01');

if ($group == 1) {
  question('AG02', '1,2,4');
} elseif ($group == 2) {
  question('AG02', '1,2,5');
} else {
  question('AG02', '1,2,3');
}

etc., based on my counterbalancing scheme for the response options. It seems to be working! Now all questions are on separate pages, the presentation order is shuffled, and Random Generator does what it's supposed to.
by SoSci Survey (370k points)
I am positive that this solution will save you a lot of work in the analysis, compared to separate questions :)

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...