Millisecond Forums

web id questions

https://www.millisecond.com/forums/Topic19217.aspx

By sdubrow - 6/9/2016

Hello,

I have a couple questions regarding ids for web experiments. I couldn't find details about sequential id generation. I assume it starts from 1 and is based on starting but not necessarily completing the experiment? That is, if 3 people start the experiment before anyone completes it, will they be assigned 1, 2 and 3? Also, is there any way to have that sequence restart within the same registered web script (e.g., by updating it)? Essentially, I'd like to have subject ids 1-8 repeat multiple times. Is the only way to so through a custom javascript? Or can you set random selection within some range?

Thanks!
Sarah

By Dave - 6/9/2016

Sequential IDs start at one and increase by one. They have no upper limit. An ID will be given out every time someone visits the experiment's launch page. It is not possible to restrict the range of IDs with either sequential or random selection.

To force a restart of the sequence, you would have to take down the respective web experiment entirely and then re-register it (under a different name).

Beyond that it is not clear to me why you would want only IDs 1-8 repeating. Please explain.
By sdubrow - 6/9/2016

Because I have 8 unique sequences of stimuli. For the sake of counterbalancing I need n*8 number of subjects such that my data include even numbers of each specific sequence. 

for each subject, i use the following to load my sequence:

<include>
/ precondition = [script.subjectid == 1]
/ file = "/Users/dubrow/Documents/conflictBound/list1.txt"
</include>

<include>
/ precondition = [script.subjectid == 2]
/ file = "/Users/dubrow/Documents/conflictBound/list2.txt"
</include>

etc

Perhaps the point you are getting at is that I could do a computation on the subjectid that could solve this?

Would that be script.subjectid-floor(script.subjectid/8)*8 ?
By Dave - 6/9/2016

Thanks for the clarification. The solution would indeed be to perform a simple computation on the subject number, specifically using a bit of modulo arithmetic. With 8 conditions, you'd do:

<include>
/ precondition = [mod(script.subjectid,8) == 1]
/ file = "/Users/dubrow/Documents/conflictBound/list1.txt"
</include>

<include>
/ precondition = [mod(script.subjectid,8) == 2]
/ file = "/Users/dubrow/Documents/conflictBound/list2.txt"
</include>
...
<include>
/ precondition = [mod(script.subjectid,8) == 0]
/ file = "/Users/dubrow/Documents/conflictBound/list8.txt"
</include>

Hope this helps.