Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

Latin square design in an online experiment (a different list for each participant)

Hello everyone :)

I'm trying to build a masked priming experiment with Open Sesame. I will use a Latin-square design in which each participant will see the same practice trial and only one experimental list out of 4 total lists (8 lists, if you count reverse lists). I have 2 questions:

1) How can I counterbalance my lists and create a script that will assign a single list for each participant? Although I have found a few topics regarding the issue, I could not figure it out (I have no Javascript experience).

2) Although I have 4 different lists, I'm also planning to create 4 identical reverse lists (in which the item presentations are reversed). Is there a way to accomplish this (presenting items in reverse order in half of the experiments) without creating additional blocks?

I'm attaching the experiment I've built so far. Thanks in advance :)


Comments

  • Hi,

    To be clear, are you trying to accomplish this with Opensesame or Osweb?

    How can I counterbalance my lists and create a script that will assign a single list for each participant?

    Essentially, you do this by using the subject_nr as index. For example, list 1 is assigned to all subjects that have a number that is divisible by 4, list 2 is assigned to subjects whose number will have a remainder of 1, when dividing by 4. The key idea here is the modulo operator.

    The specific implementation depends on whether you have to use python or javascript.

    Is there a way to accomplish this (presenting items in reverse order in half of the experiments) without creating additional blocks?

    Yeah, that should be doable as well. Again implementation details depend on the progamming language that you have to use. You have two options: (1) Reverse the list and create a new list, that you will use henceforth as trial list. (2) Index the list from the back and move forward.

    I think I would opt for the second option, but not sure how easy the implementation is.

    Hope this helps,

    Eduard

    Buy Me A Coffee

  • Thanks for your answer Eduard,

    I will run the experiment online, so this is probably a task for Osweb. How can I implement this by using Javascript? I tried something like that but it did not work.



    For my second question, I think a code that runs the lists in the reverse order for odd participant numbers could work. Unfortunately, this is beyond my javascript knowledge.

  • Hi @reversemoonwalk ,


    If you want to be sure you have an equal number of participants in each condition, I'm afraid there is no other possibility than to create multiple versions of your experiment. See this post:


    I just want to check with @sebastiaan or @eduard : There is no way to counterbalance by using the variable subject_nr in a full proof way, right?


    Cheers,


    Lotje

    Did you like my answer? Feel free to Buy Me A Coffee :)

  • Hi @reversemoonwalk and @lvanderlinden

    There is no way to counterbalance by using the variable subject_nr in a full proof way, right?

    In OSWeb there isn't, no, because the subject_nr is randomly drawn from the list of possible subject numbers specified in the OSWeb extension. With many participants, this will generally average out to a decently counterbalanced dataset. But for perfect counterbalancing, as Lotje says, it's best to create multiple versions of the experiment. (Which is generally a horrible idea, but in this case it's the only real solution!)

    — Sebastiaan

  • Thanks, @lvanderlinden and @sebastiaan. I fixed my code according to the post you sent. The following solution seems to work; although as you mentioned, it is not a perfect counterbalance.

    Each participant will get one of the four lists that I created. The only problem I need to overcome is to present items in reverse order for roughly half of the participants.

  • @reversemoonwalk I just discovered that there actually is a way to implement counterbalancing properly. See this discussion:

  • @sebastiaan That works perfectly! Thank you!

Sign In or Register to comment.