How to use
*while
loops to avoid unnecessary repetition when coding for questions
🔗
Here is an example of how to use a
*while
loops to avoid unnecessary repetition when coding for questions
by drawing from a pool of questions. You might use this
configuration if you want people to be able to opt out after any
single question. Including an option like this might
substantially reduce the probability that someone finishes all
the questions, but you might still want to include this option
in certain circumstances (e.g., if there was a particularly
distressing series of questions). In this loop, questions are
presented to the participant as long as there are still
questions left to ask and as long as they haven't clicked "No"
in response to the question "Are you happy to continue?". You'll
see that this includes an
*if
statement nested within the
*while
loop.
>> questionSet = ["First question", "Second question", "Third question", "Fourth question", "Fifth question"]
>> answers = {}
>> i = 1
*while: (not stopping) and (i <= questionSet.size)
>> question = questionSet[i]
*question: {question}
*save: answer
>> answers[question] = answer
>> i = i + 1
*if: i <= questionSet.size
*question: Are you happy to continue?
Yes
No
>> stopping = "Yes"
In this example, note that the answer to each question is saved
in an association (
>> answers[question] = answer
). However, this might create extra work when it comes to
processing the CSV later as all answers will be stored within
the same collection in a single column. If you use collections
like this in your study, you may wish to use the text-to-columns
function (using commas as the separators) to split the
collection into separate columns after you've loaded your CSV.
Next: How to ensure that a participant meant to leave a `*multiple` question blank