randomize and counterbalance 3 levels of 1 IV

Maybe this is a dumb question, but I can’t seem to figure this out:

I have 3 versions of 18 different stimuli (all text vignettes, one response needed for each, same question every time). I want each subject to get 1 version of each stimulus, so in the end they have seen 6 of each level of the IV (18 trials total). Each subject should get all stimuli in a random order.

This can be done, right?


A colleague and I went over this and we are having a hard time understanding. Is there anyway you can post your experiment as an Experiment Package so we can get a better idea? The experiment package feature is found under the File menu within SuperLab.

i don’t have the experiment made because i don’t know how to do it. the main thing is that any subject can only see one vignette out of a set of three, and we have 18 sets. there is one IV: vignette type, and one DV: a judgment of our relevant dimension.

this is a very typical within subjects repeated measures design. all subjects get exposed to all three levels of the IV - we have 18 vignettes that are each manipulated three ways.

i need to have each subject get 6 of each vignette type, but see only one token from each set, for a total of 18 trials. make sense?

thanks so much!

i think hisham was going to try and write a macro to do this at some point, but for now i just created three participant groups and they get assigned to one of three stimulus lists i created.

i encourage you guys to include counterbalancing in the program - i was really surprised to learn SL couldn’t handle a repeated measures design like this!

  • Four code values are needed
    • 1st code value “Ok to present condition 1” with values “Yes” and “No”

    • 2nd code value “Ok to present condition 2” with values “Yes” and “No”

    • 3rd code value “Ok to present condition 2” with values “Yes” and “No”

    • 4th code value “Trial Type” with values “Condition 1” and “Condition 2” and “Condition 3”

  • All three trials have the code values tagged

  • You need three macros, one for each condition

  • Each [B]Expression[/B] is set to "Number of Trials Presented in This Block is greater than or equal to 6 trials" and marked with either condition 1, 2 or 3
  • Under the[B] If True[/B] tab, SuperLab will "Change value of the code to "Ok to present condition 1, 2, or 3" to No" in all trials in this block"

Forums Jasper 1249.sl4 (10.7 KB)

thanks so much for working on this! i’ve been running the experiment the way i described above, but i will certainly try this out.