Randomization & Blinding
in OpenSesame
Hello :)
I am new to using OpenSesame. However, there are one or two problems that I need help with. I have a simple between-subjects design where I want subjects to go through either condition A or condition B randomized. However, as the experimenter, I don't want to know which condition they had until afterwards. So randomization and blinding need to be implemented. What is the best way to do this without programming experience?
Thanks a lot!
Tim
Comments
Hi @tocb,
The easiest way to allocate randomly participants to a between-subjects condition without knowing in advance which condition will be picked for each subject is to use nested loops, with the highest-level loop containing two rows and one variable coding for the condition to be run, and set the number of cycles of that loop to 0.5. That way, only one of the conditions will be run at random. You'd then include two loops (one for each condition) and use the "Run if" property of the higher-level sequence to only display one (based on the random condition selection).
The drawback is that you're not guaranteed to end up with the same number of participants in your two conditions.
Here are the basic steps:
1) Nest the condition conditions inside a higher-level loop and sequence and configure the latter as follows:
2) Set the "run if" property of the higher-level loop to only display the lower-level loop that corresponds to the condition selected at random:
This method will result in only on of the two rows of the
pick_conditionloop to be run. Depending on which is picked,CondAorCondBwill be run.You can download thus very basic example here and then customize it to your needs:
Good luck!
Fabrice.
Hi @Fab ,
thank you for this simple and useful implementation. It helped me a lot, now everything works as it should :)
Is there a possibility that a condition is randomly selected to have the same number of subjects in each condition at the end of my experiment? Specifically, I need 200 subjects and 100 in each condition.
Thanks a lot!
Hi @tocb ,
Unfortunately, no, that is not possible with this simple implementation, because the task picks the condition at random every time it runs. If you want the experimenter to be blind to the condition to which each subject is allocated, there is one way that might work for you if the experimenter is not the person programming the task: to have the task select the condition based on the subject's number parity (e.g., if the subject number is odd then it would select one condition, and if it is even, it would select the other). I'm assuming here that you're planning to run the experiment in the lab and not online (online, the experimenter does not type in the subject's number, it is picked randomly based on your settings for OSWeb).
Other than that, the only solution I could imagine (but I have not tried to implement it), if you're running the experiment in the lab, would be to program code in Python or Javascript to read from and write to a text file where you've keep a count of the number of subjects in each condition and implement some algorithm that makes sure to keep numbers similar as subjects are tested. Such solution would require you to do some programming and would not work if you're planning to run the experiment online.
Best,
Fabrice.
Thank you so much @Fab !