Limit same-key responses


Author
Message
agt
agt
Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)
Group: Forum Members
Posts: 42, Visits: 84
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/8/2024
atgoh - 7/8/2024
Hi Dave. I would like to make the change. May I find out how to do this?

Look at the combined blocks as they exist now and understand how they work. That's step one.

Note down the <trial> elements that have the same correct response key in each combined block.

Note down how many trials there are of each type.

Note, too, that combined blocks always alternate between attribute and target trials.

Your easiest option is to simply spell out a fixed trial sequence that satisfiies your added constraint.

Otherwise you need to come up with an algorithm that produces random trial sequences that satisfy all the properties above and implement it. This is not trivial.

Thanks Dave. I have noted on the number of trials for each combined blocks. It would be ideal to come up with a script to produce random trial sequence that limit not more than 4 times the same response key in each combined task. 

That is what you should work on then. What you have on your hands there is a constraint satisfaction problem (cf. https://forums.millisecond.com/Topic6419.aspx ), so be prepared to spend some time on this.

Thanks for the information. Is there a starting script or section where I can work on? I have no background on computer science/scripts so it will be great to get some advice from you.

You should not start with any code. You should start with doing the math and spelling out an algorithm -- i.e. a series of precisely defined steps that will yield the desired result -- that produces trial sequences in the way you want them to. You don't need a script for that, you need a piece of paper. Once you have your algorithm worked out, you can start thinking about implementing it. It's only then that you need to concern yourself with any code.

There’s a total of 7 blocks, of which 4 blocks are combined tasks consisting of 32 and 64 trials. Within each ofthe 4 blocks, there should be not more than 4 consecutive same key responses.

Yes. That is not an algorithm. That is a statement of the desired end state. You need to work out the steps that get you to that end state. If you can't do that, my advice is go for the easy option and use a fixed trial sequence, which you can construct by hand.
Unfortunately I am unsure how an algorithm works. How would a fixed trial sequence work?

You simplly write down an order of trials that satisfies the constraints you want. That's what this exercise was for:

Note down the <trial> elements that have the same correct response key in each combined block.

Note down how many trials there are of each type.

Note, too, that combined blocks always alternate between attribute and target trials.

Your easiest option is to simply spell out a fixed trial sequence that satisfiies your added constraint.




Do you mean the blocks or trials?

You spell out the trial sequence in the <block> elements' /trials attribute.

Do you mean this? 

<block compatibletest1>
/ postinstructions = (compatibletest1feedback)
/ bgstim = (targetAleftmixed, orleft, attributeAleft, targetBrightmixed, orright, attributeBright)
/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33= random(targetAleft, targetBright);
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32 = random(attributeA, attributeB)]
/ errormessage = true(error,200)
/ responsemode = correct
/ ontrialend = [
    if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.sum1a = values.sum1a + block.compatibletest1.latency;
    if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.n1a += 1;
    if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.ss1a = values.ss1a + (block.compatibletest1.latency * block.compatibletest1.latency);
    if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.n_correct += block.compatibletest1.correct;
]
</block>

The /trials attribute in the blocks, yes.

Instead of

/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33= random(targetAleft, targetBright);
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32 = random(attributeA, attributeB)]


you need to spell out a trial sequence that does what you want. So

/ trials = [1=instructions;
2=sequence(attributeA, argetAleft, ...);
]


I would like my sequence to be randomised. Just not more than 4 consecutive same key response.

I've already explained to you that that's not trivial to do and what you'd have to work out to do this. You can either do that and read up on the things you don't know or you go for the easier option and use fixed trial sequences.

I would like to integrate the following to the script:
 consecutiveCorrectResponses = 0;
        maxConsecutiveCorrectResponses = 3;

however, i am unsure which section to include this.

Adding a bunch of variables will not do a single thing, so the question is beside the point, I'm afraid

Thanks for the information. Is there a user manual i can refer to on limiting the consecutive response key?
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 103K
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/8/2024
atgoh - 7/8/2024
Hi Dave. I would like to make the change. May I find out how to do this?

Look at the combined blocks as they exist now and understand how they work. That's step one.

Note down the <trial> elements that have the same correct response key in each combined block.

Note down how many trials there are of each type.

Note, too, that combined blocks always alternate between attribute and target trials.

Your easiest option is to simply spell out a fixed trial sequence that satisfiies your added constraint.

Otherwise you need to come up with an algorithm that produces random trial sequences that satisfy all the properties above and implement it. This is not trivial.

Thanks Dave. I have noted on the number of trials for each combined blocks. It would be ideal to come up with a script to produce random trial sequence that limit not more than 4 times the same response key in each combined task. 

That is what you should work on then. What you have on your hands there is a constraint satisfaction problem (cf. https://forums.millisecond.com/Topic6419.aspx ), so be prepared to spend some time on this.

Thanks for the information. Is there a starting script or section where I can work on? I have no background on computer science/scripts so it will be great to get some advice from you.

You should not start with any code. You should start with doing the math and spelling out an algorithm -- i.e. a series of precisely defined steps that will yield the desired result -- that produces trial sequences in the way you want them to. You don't need a script for that, you need a piece of paper. Once you have your algorithm worked out, you can start thinking about implementing it. It's only then that you need to concern yourself with any code.

There’s a total of 7 blocks, of which 4 blocks are combined tasks consisting of 32 and 64 trials. Within each ofthe 4 blocks, there should be not more than 4 consecutive same key responses.

Yes. That is not an algorithm. That is a statement of the desired end state. You need to work out the steps that get you to that end state. If you can't do that, my advice is go for the easy option and use a fixed trial sequence, which you can construct by hand.
Unfortunately I am unsure how an algorithm works. How would a fixed trial sequence work?

You simplly write down an order of trials that satisfies the constraints you want. That's what this exercise was for:

Note down the <trial> elements that have the same correct response key in each combined block.

Note down how many trials there are of each type.

Note, too, that combined blocks always alternate between attribute and target trials.

Your easiest option is to simply spell out a fixed trial sequence that satisfiies your added constraint.




Do you mean the blocks or trials?

You spell out the trial sequence in the <block> elements' /trials attribute.

Do you mean this? 

<block compatibletest1>
/ postinstructions = (compatibletest1feedback)
/ bgstim = (targetAleftmixed, orleft, attributeAleft, targetBrightmixed, orright, attributeBright)
/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33= random(targetAleft, targetBright);
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32 = random(attributeA, attributeB)]
/ errormessage = true(error,200)
/ responsemode = correct
/ ontrialend = [
    if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.sum1a = values.sum1a + block.compatibletest1.latency;
    if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.n1a += 1;
    if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.ss1a = values.ss1a + (block.compatibletest1.latency * block.compatibletest1.latency);
    if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.n_correct += block.compatibletest1.correct;
]
</block>

The /trials attribute in the blocks, yes.

Instead of

/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33= random(targetAleft, targetBright);
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32 = random(attributeA, attributeB)]


you need to spell out a trial sequence that does what you want. So

/ trials = [1=instructions;
2=sequence(attributeA, argetAleft, ...);
]


I would like my sequence to be randomised. Just not more than 4 consecutive same key response.

I've already explained to you that that's not trivial to do and what you'd have to work out to do this. You can either do that and read up on the things you don't know or you go for the easier option and use fixed trial sequences.

I would like to integrate the following to the script:
 consecutiveCorrectResponses = 0;
        maxConsecutiveCorrectResponses = 3;

however, i am unsure which section to include this.

Adding a bunch of variables will not do a single thing, so the question is beside the point, I'm afraid

Thanks for the information. Is there a user manual i can refer to on limiting the consecutive response key?

There is a programmer's manual. It does not deal specifically with limiting consecutive response keys. There's no reason why it should. It's a generic programming problem like any other. https://www.millisecond.com/support
agt
agt
Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)
Group: Forum Members
Posts: 42, Visits: 84
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/8/2024
atgoh - 7/8/2024
Hi Dave. I would like to make the change. May I find out how to do this?

Look at the combined blocks as they exist now and understand how they work. That's step one.

Note down the <trial> elements that have the same correct response key in each combined block.

Note down how many trials there are of each type.

Note, too, that combined blocks always alternate between attribute and target trials.

Your easiest option is to simply spell out a fixed trial sequence that satisfiies your added constraint.

Otherwise you need to come up with an algorithm that produces random trial sequences that satisfy all the properties above and implement it. This is not trivial.

Thanks Dave. I have noted on the number of trials for each combined blocks. It would be ideal to come up with a script to produce random trial sequence that limit not more than 4 times the same response key in each combined task. 

That is what you should work on then. What you have on your hands there is a constraint satisfaction problem (cf. https://forums.millisecond.com/Topic6419.aspx ), so be prepared to spend some time on this.

Thanks for the information. Is there a starting script or section where I can work on? I have no background on computer science/scripts so it will be great to get some advice from you.

You should not start with any code. You should start with doing the math and spelling out an algorithm -- i.e. a series of precisely defined steps that will yield the desired result -- that produces trial sequences in the way you want them to. You don't need a script for that, you need a piece of paper. Once you have your algorithm worked out, you can start thinking about implementing it. It's only then that you need to concern yourself with any code.

There’s a total of 7 blocks, of which 4 blocks are combined tasks consisting of 32 and 64 trials. Within each ofthe 4 blocks, there should be not more than 4 consecutive same key responses.

Yes. That is not an algorithm. That is a statement of the desired end state. You need to work out the steps that get you to that end state. If you can't do that, my advice is go for the easy option and use a fixed trial sequence, which you can construct by hand.
Unfortunately I am unsure how an algorithm works. How would a fixed trial sequence work?

You simplly write down an order of trials that satisfies the constraints you want. That's what this exercise was for:

Note down the <trial> elements that have the same correct response key in each combined block.

Note down how many trials there are of each type.

Note, too, that combined blocks always alternate between attribute and target trials.

Your easiest option is to simply spell out a fixed trial sequence that satisfiies your added constraint.




Do you mean the blocks or trials?

You spell out the trial sequence in the <block> elements' /trials attribute.

Do you mean this? 

<block compatibletest1>
/ postinstructions = (compatibletest1feedback)
/ bgstim = (targetAleftmixed, orleft, attributeAleft, targetBrightmixed, orright, attributeBright)
/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33= random(targetAleft, targetBright);
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32 = random(attributeA, attributeB)]
/ errormessage = true(error,200)
/ responsemode = correct
/ ontrialend = [
    if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.sum1a = values.sum1a + block.compatibletest1.latency;
    if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.n1a += 1;
    if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.ss1a = values.ss1a + (block.compatibletest1.latency * block.compatibletest1.latency);
    if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.n_correct += block.compatibletest1.correct;
]
</block>

The /trials attribute in the blocks, yes.

Instead of

/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33= random(targetAleft, targetBright);
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32 = random(attributeA, attributeB)]


you need to spell out a trial sequence that does what you want. So

/ trials = [1=instructions;
2=sequence(attributeA, argetAleft, ...);
]


I would like my sequence to be randomised. Just not more than 4 consecutive same key response.

I've already explained to you that that's not trivial to do and what you'd have to work out to do this. You can either do that and read up on the things you don't know or you go for the easier option and use fixed trial sequences.

I would like to integrate the following to the script:
 consecutiveCorrectResponses = 0;
        maxConsecutiveCorrectResponses = 3;

however, i am unsure which section to include this.

Adding a bunch of variables will not do a single thing, so the question is beside the point, I'm afraid

Thanks for the information. Is there a user manual i can refer to on limiting the consecutive response key?

There is a programmer's manual. It does not deal specifically with limiting consecutive response keys. There's no reason why it should. It's a generic programming problem like any other. https://www.millisecond.com/support

Is there anyone I can consult on setting the consecutive response keys limit? and also understanding the basic math and algorithm so that i am able to come up with the right script. 
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 103K
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/9/2024
atgoh - 7/9/2024
Dave - 7/8/2024
[quote]
atgoh - 7/8/2024
Hi Dave. I would like to make the change. May I find out how to do this?

Look at the combined blocks as they exist now and understand how they work. That's step one.

Note down the <trial> elements that have the same correct response key in each combined block.

Note down how many trials there are of each type.

Note, too, that combined blocks always alternate between attribute and target trials.

Your easiest option is to simply spell out a fixed trial sequence that satisfiies your added constraint.

Otherwise you need to come up with an algorithm that produces random trial sequences that satisfy all the properties above and implement it. This is not trivial.

Thanks Dave. I have noted on the number of trials for each combined blocks. It would be ideal to come up with a script to produce random trial sequence that limit not more than 4 times the same response key in each combined task. 

That is what you should work on then. What you have on your hands there is a constraint satisfaction problem (cf. https://forums.millisecond.com/Topic6419.aspx ), so be prepared to spend some time on this.

Thanks for the information. Is there a starting script or section where I can work on? I have no background on computer science/scripts so it will be great to get some advice from you.

You should not start with any code. You should start with doing the math and spelling out an algorithm -- i.e. a series of precisely defined steps that will yield the desired result -- that produces trial sequences in the way you want them to. You don't need a script for that, you need a piece of paper. Once you have your algorithm worked out, you can start thinking about implementing it. It's only then that you need to concern yourself with any code.

There’s a total of 7 blocks, of which 4 blocks are combined tasks consisting of 32 and 64 trials. Within each ofthe 4 blocks, there should be not more than 4 consecutive same key responses.

Yes. That is not an algorithm. That is a statement of the desired end state. You need to work out the steps that get you to that end state. If you can't do that, my advice is go for the easy option and use a fixed trial sequence, which you can construct by hand.
Unfortunately I am unsure how an algorithm works. How would a fixed trial sequence work?

You simplly write down an order of trials that satisfies the constraints you want. That's what this exercise was for:

Note down the <trial> elements that have the same correct response key in each combined block.

Note down how many trials there are of each type.

Note, too, that combined blocks always alternate between attribute and target trials.

Your easiest option is to simply spell out a fixed trial sequence that satisfiies your added constraint.




Do you mean the blocks or trials?

You spell out the trial sequence in the <block> elements' /trials attribute.

Do you mean this? 

<block compatibletest1>
/ postinstructions = (compatibletest1feedback)
/ bgstim = (targetAleftmixed, orleft, attributeAleft, targetBrightmixed, orright, attributeBright)
/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33= random(targetAleft, targetBright);
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32 = random(attributeA, attributeB)]
/ errormessage = true(error,200)
/ responsemode = correct
/ ontrialend = [
    if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.sum1a = values.sum1a + block.compatibletest1.latency;
    if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.n1a += 1;
    if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.ss1a = values.ss1a + (block.compatibletest1.latency * block.compatibletest1.latency);
    if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.n_correct += block.compatibletest1.correct;
]
</block>

The /trials attribute in the blocks, yes.

Instead of

/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33= random(targetAleft, targetBright);
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32 = random(attributeA, attributeB)]


you need to spell out a trial sequence that does what you want. So

/ trials = [1=instructions;
2=sequence(attributeA, argetAleft, ...);
]


I would like my sequence to be randomised. Just not more than 4 consecutive same key response.

I've already explained to you that that's not trivial to do and what you'd have to work out to do this. You can either do that and read up on the things you don't know or you go for the easier option and use fixed trial sequences.

I would like to integrate the following to the script:
 consecutiveCorrectResponses = 0;
        maxConsecutiveCorrectResponses = 3;

however, i am unsure which section to include this.

Adding a bunch of variables will not do a single thing, so the question is beside the point, I'm afraid

Thanks for the information. Is there a user manual i can refer to on limiting the consecutive response key?

There is a programmer's manual. It does not deal specifically with limiting consecutive response keys. There's no reason why it should. It's a generic programming problem like any other. https://www.millisecond.com/support

Is there anyone I can consult on setting the consecutive response keys limit? and also understanding the basic math and algorithm so that i am able to come up with the right script. 
[/quote]
There is no "the" algorithm. You need to develop one. Then and only then will you be able to come up with the right script.

Maybe start with some basics:
- What is an algorithm: https://www.geeksforgeeks.org/introduction-to-algorithms/
- Ds some tutorials to learn at leas the basics of Inquisit syntax: https://www.millisecond.com/support/docs/v5/html/tutorials/tutorials.htm
- Then re-read all the information already contained in this thread.

agt
agt
Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)
Group: Forum Members
Posts: 42, Visits: 84

Hi Dave, may I find out what is the fee to engage your team to develop the script?
Edited 3 Months Ago by Dave
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 103K
atgoh - 7/12/2024

Hi Dave, may I find out what is the fee to engage your team to develop the script?

The standard fee for script development is $100 per hour. I can't tell you how many hours this particular project would take, but what I can tell you is:
- It's not a small change, the IAT script would require comparably extensive additions and modifications, since changes have downstream effects. It isn't as simple as adding a line of code or two, so it's probably not a matter of only one or two hours. It could be substantially more.
- Given the amount of work involved, consider whether the pay-off is worth the investment. There is a simple, robust, and cheap alternative: Using fixed trial sequences (you can construct several and then pick one at random).

agt
agt
Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)
Group: Forum Members
Posts: 42, Visits: 84
Dave - 7/12/2024
atgoh - 7/12/2024

Hi Dave, may I find out what is the fee to engage your team to develop the script?

The standard fee for script development is $100 per hour. I can't tell you how many hours this particular project would take, but what I can tell you is:
- It's not a small change, the IAT script would require comparably extensive additions and modifications, since changes have downstream effects. It isn't as simple as adding a line of code or two, so it's probably not a matter of only one or two hours. It could be substantially more.
- Given the amount of work involved, consider whether the pay-off is worth the investment. There is a simple, robust, and cheap alternative: Using fixed trial sequences (you can construct several and then pick one at random).

Thanks for the information. After much consideration, I will go with fixed trail sequence. Is there an ideal number of fixed trail sequences that I have to create? 
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 103K
atgoh - 7/16/2024
Dave - 7/12/2024
atgoh - 7/12/2024

Hi Dave, may I find out what is the fee to engage your team to develop the script?

The standard fee for script development is $100 per hour. I can't tell you how many hours this particular project would take, but what I can tell you is:
- It's not a small change, the IAT script would require comparably extensive additions and modifications, since changes have downstream effects. It isn't as simple as adding a line of code or two, so it's probably not a matter of only one or two hours. It could be substantially more.
- Given the amount of work involved, consider whether the pay-off is worth the investment. There is a simple, robust, and cheap alternative: Using fixed trial sequences (you can construct several and then pick one at random).

Thanks for the information. After much consideration, I will go with fixed trail sequence. Is there an ideal number of fixed trail sequences that I have to create? 

You can create as few or as many as you deem appropriate for your purposes. Offhand, I'd aim at somewhere around 4 to 5 per type of block (compatibletest1, compatibletest2, incompatibletest1, incompatibletest2). Put each sequence in a separete <list>. Once you have these constructed, I can show you how to select one per block at random for each subject.

agt
agt
Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)
Group: Forum Members
Posts: 42, Visits: 84
Dave - 7/16/2024
atgoh - 7/16/2024
Dave - 7/12/2024
atgoh - 7/12/2024

Hi Dave, may I find out what is the fee to engage your team to develop the script?

The standard fee for script development is $100 per hour. I can't tell you how many hours this particular project would take, but what I can tell you is:
- It's not a small change, the IAT script would require comparably extensive additions and modifications, since changes have downstream effects. It isn't as simple as adding a line of code or two, so it's probably not a matter of only one or two hours. It could be substantially more.
- Given the amount of work involved, consider whether the pay-off is worth the investment. There is a simple, robust, and cheap alternative: Using fixed trial sequences (you can construct several and then pick one at random).

Thanks for the information. After much consideration, I will go with fixed trail sequence. Is there an ideal number of fixed trail sequences that I have to create? 

You can create as few or as many as you deem appropriate for your purposes. Offhand, I'd aim at somewhere around 4 to 5 per type of block (compatibletest1, compatibletest2, incompatibletest1, incompatibletest2). Put each sequence in a separete <list>. Once you have these constructed, I can show you how to select one per block at random for each subject.

Hi Dave,

I have created 5 randomised sequences for compatibletest1 (32 trials). Showing 2 of them here:

Sequence A (attributeB, targetAleft, attributeA, targetBright, attribute, targetAleft, targetAleft, attributeB, attributeA, attributeA, attributeA, attribute, targetBright, targetBright, targetAleft, attribute, attributeA, attribute, targetAleft, attributeA, attributeA, targetBright, targetBright, attributeA, attribute, attribute, targetAleft, targetBright, targetAleft, targetBright, targetBright, targetAleft)
 
Sequence B (attributeA, targetAleft, attributeB, targetBright, targetAleft, targetBright, targetBright, attributeA, targetBright, targetAleft, attributeB, attributeB, targetAleft, targetBright, attributeA, targetAleft, targetBright, targetAleft, targetBright, attributeB, attributeA, targetBright, attributeB, attributeB, attributeA, targetAleft, targetAleft, attributeB, attributeA, attributeA, attributeA, attributeB)

I have 8 items for attribute A and 8 items for attribute B. The number of items is similar for targets. Each item will appear once for compatibletest1. 


agt
agt
Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)Associate Member (96 reputation)
Group: Forum Members
Posts: 42, Visits: 84
atgoh - 7/22/2024
Dave - 7/16/2024
atgoh - 7/16/2024
Dave - 7/12/2024
atgoh - 7/12/2024

Hi Dave, may I find out what is the fee to engage your team to develop the script?

The standard fee for script development is $100 per hour. I can't tell you how many hours this particular project would take, but what I can tell you is:
- It's not a small change, the IAT script would require comparably extensive additions and modifications, since changes have downstream effects. It isn't as simple as adding a line of code or two, so it's probably not a matter of only one or two hours. It could be substantially more.
- Given the amount of work involved, consider whether the pay-off is worth the investment. There is a simple, robust, and cheap alternative: Using fixed trial sequences (you can construct several and then pick one at random).

Thanks for the information. After much consideration, I will go with fixed trail sequence. Is there an ideal number of fixed trail sequences that I have to create? 

You can create as few or as many as you deem appropriate for your purposes. Offhand, I'd aim at somewhere around 4 to 5 per type of block (compatibletest1, compatibletest2, incompatibletest1, incompatibletest2). Put each sequence in a separete <list>. Once you have these constructed, I can show you how to select one per block at random for each subject.

Hi Dave,

I have created 5 randomised sequences for compatibletest1 (32 trials). Showing 2 of them here:

Sequence A (attributeB, targetAleft, attributeA, targetBright, attribute, targetAleft, targetAleft, attributeB, attributeA, attributeA, attributeA, attribute, targetBright, targetBright, targetAleft, attribute, attributeA, attribute, targetAleft, attributeA, attributeA, targetBright, targetBright, attributeA, attribute, attribute, targetAleft, targetBright, targetAleft, targetBright, targetBright, targetAleft)
 
Sequence B (attributeA, targetAleft, attributeB, targetBright, targetAleft, targetBright, targetBright, attributeA, targetBright, targetAleft, attributeB, attributeB, targetAleft, targetBright, attributeA, targetAleft, targetBright, targetAleft, targetBright, attributeB, attributeA, targetBright, attributeB, attributeB, attributeA, targetAleft, targetAleft, attributeB, attributeA, attributeA, attributeA, attributeB)

I have 8 items for attribute A and 8 items for attribute B. The number of items is similar for targets. Each item will appear once for compatibletest1. 


My apologies, I have updated my sequence A and B below:
Sequence A (attributeB, targetAleft, attributeA, targetBright, attributeB, targetAleft, attributeB, targetAleft, attributeA, targetBright, attributeA, targetBright, attributeA, targetAleft, attributeB, targetAleft, attributeB, targetAleft, attributeA, targetBright, attributeB, targetBright, attributeA, targetAleft, attributeA, targetBright, attributeB, targetAleft, attributeA, targetBright, attributeB, targetBright )
 
Sequence B (attributeA, targetAleft, attributeB, targetBright, attributeA, targetAleft, attributeB, targetBright, attributeB, targetAleft, attributeA, targetBright, attributeB, targetAleft, attributeB, targetBright, attributeA, targetAleft, attributeB, targetBright, attributeA, targetBright, attributeB, targetAleft, attributeA, targetBright, attributeA, targetBright, attributeA, targetAleft, attributeB, targetAleft )

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search