toupper


toupper

Author
Message
Jens Bölte
Jens Bölte
Guru
Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)

Group: Forum Members
Posts: 78, Visits: 60
Hello,
I am programming a LDT for some students of my class. So far so good, however, the student did not provide the targets in upper case which is necessary for this experiment. Instead of having them to correct all targets, I tried to convert all targets to upper case in Inquisit in various ways but failed. So, tfake has to be presented in upper case. Hints (and solutions) are welcome.

Best wishes Jens

<trial t_fake>
/ontrialbegin = [values.trialcounter += 1;]
/ontrialend = [values.prime = text.trpfake.currentitem; values.target = text.tfake.currentitem;]
/stimulusframes = [1 = fixation; 30 = maske; 61 = blank, trpfake; 64 = blank, tfake]
/validresponse = ("F", "J")
/correctresponse = ("F")
/response = timeout (2500)
/branch = [if(values.trialcounter == values.break_after_x) trial.pause]
</trial>


Dave
Dave
Supreme Being
Supreme Being (726K reputation)Supreme Being (726K reputation)Supreme Being (726K reputation)Supreme Being (726K reputation)Supreme Being (726K reputation)Supreme Being (726K reputation)Supreme Being (726K reputation)Supreme Being (726K reputation)Supreme Being (726K reputation)

Group: Administrators
Posts: 9.9K, Visits: 48K
jens - 11/2/2019
Hello,
I am programming a LDT for some students of my class. So far so good, however, the student did not provide the targets in upper case which is necessary for this experiment. Instead of having them to correct all targets, I tried to convert all targets to upper case in Inquisit in various ways but failed. So, tfake has to be presented in upper case. Hints (and solutions) are welcome.

Best wishes Jens

<trial t_fake>
/ontrialbegin = [values.trialcounter += 1;]
/ontrialend = [values.prime = text.trpfake.currentitem; values.target = text.tfake.currentitem;]
/stimulusframes = [1 = fixation; 30 = maske; 61 = blank, trpfake; 64 = blank, tfake]
/validresponse = ("F", "J")
/correctresponse = ("F")
/response = timeout (2500)
/branch = [if(values.trialcounter == values.break_after_x) trial.pause]
</trial>


Inquisit has a toupper() string function, which you can use for that.

<item tfakeitems>
/ 1 = "abc"
/ 2 = "def"
/ 3 = "ghi"
/ 4 = "jkl"
</item>

<text tfake>
/ items = tfakeitems
</text>

<values>
/ index = 0
</values>


<trial t_fake>
/ ontrialbegin = [values.index = text.tfake.nextindex;
item.tfakeitems.setitem(toupper(item.tfakeitems.item(values.index)), values.index);
]
/ stimulusframes = [1=tfake]
/ validresponse = (57)
</trial>

<block example>
/ trials = [1-4 = t_fake]
</block>


Edited
8 days ago @ 8:18 PM by Dave
Jens Bölte
Jens Bölte
Guru
Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)

Group: Forum Members
Posts: 78, Visits: 60
Hello,

Thanks a lot for your solution. I tried toupper and .setitem but I failed on setting the proper index.

Best wishes Jens
Jens Bölte
Jens Bölte
Guru
Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)

Group: Forum Members
Posts: 78, Visits: 60
jens - 11/4/2019
Hello,Thanks a lot for your solution. I tried toupper and .setitem but I failed on setting the proper index. Best wishes Jens

Hello,
I tried out your code and it worked perfectly, however, it does not work in this code. I miss the difference.

<text aufwaermtarget>
/items = aufwaermtargeti
/select = current(aufwaermprime)
</text>

<item aufwaermtargeti>
/161 = "Krimte"
/162 = "Heizung"
/163 = "Klimer"
/164 = "Wunde"
/165 = "Kohle"
/166 = "Farnseber"
/167 = "Tobel"
/168 = "Husten"
</item>

<text aufwaermprime>
/items = aufwaermprimes.items
/select = noreplace
</text>

<item aufwaermprimes.items>
/161 = "Kapuzenpullover"
/162 = "Gedankenkontrolle"
/163 = "Tapetenkleber"
/164 = "Schnittwunde"
/165 = "Abflussreiniger"
/166 = "Röhrenfernseher"
/167 = "Raucherhusten"
/168 = "Bürgerwehr"
</item>

<trial aufwaerm>
/ontrialbegin = [values.trialcounter += 1; values.index = text.aufwaermtarget.nextindex;
      item.aufwaermtargeti.setitem(toupper(item.aufwaermtargeti.item(values.index)), values.index);]
/ontrialend = [values.prime = text.aufwaermprime.currentitem; values.target = text.aufwaermtarget.currentitem;]
/stimulusframes = [1 = fixation; 30 = maske; 61 = blank, aufwaermprime; 64 = blank, aufwaermtarget]
/validresponse = ("F", "J")
/response = timeout (2500)
/branch = [if(values.trialcounter == values.break_after_x) trial.pause]
</trial>

Dave
Dave
Supreme Being
Supreme Being (726K reputation)Supreme Being (726K reputation)Supreme Being (726K reputation)Supreme Being (726K reputation)Supreme Being (726K reputation)Supreme Being (726K reputation)Supreme Being (726K reputation)Supreme Being (726K reputation)Supreme Being (726K reputation)

Group: Administrators
Posts: 9.9K, Visits: 48K
jens - 11/4/2019
jens - 11/4/2019
Hello,Thanks a lot for your solution. I tried toupper and .setitem but I failed on setting the proper index. Best wishes Jens

Hello,
I tried out your code and it worked perfectly, however, it does not work in this code. I miss the difference.

<text aufwaermtarget>
/items = aufwaermtargeti
/select = current(aufwaermprime)
</text>

<item aufwaermtargeti>
/161 = "Krimte"
/162 = "Heizung"
/163 = "Klimer"
/164 = "Wunde"
/165 = "Kohle"
/166 = "Farnseber"
/167 = "Tobel"
/168 = "Husten"
</item>

<text aufwaermprime>
/items = aufwaermprimes.items
/select = noreplace
</text>

<item aufwaermprimes.items>
/161 = "Kapuzenpullover"
/162 = "Gedankenkontrolle"
/163 = "Tapetenkleber"
/164 = "Schnittwunde"
/165 = "Abflussreiniger"
/166 = "Röhrenfernseher"
/167 = "Raucherhusten"
/168 = "Bürgerwehr"
</item>

<trial aufwaerm>
/ontrialbegin = [values.trialcounter += 1; values.index = text.aufwaermtarget.nextindex;
      item.aufwaermtargeti.setitem(toupper(item.aufwaermtargeti.item(values.index)), values.index);]
/ontrialend = [values.prime = text.aufwaermprime.currentitem; values.target = text.aufwaermtarget.currentitem;]
/stimulusframes = [1 = fixation; 30 = maske; 61 = blank, aufwaermprime; 64 = blank, aufwaermtarget]
/validresponse = ("F", "J")
/response = timeout (2500)
/branch = [if(values.trialcounter == values.break_after_x) trial.pause]
</trial>

(1) Please, in the future, provide code that is complete as to be runnable.
(2) The selection of the target item in your code is dependent on the selection of the prime item.

<text aufwaermtarget>
/items = aufwaermtargeti
/select = current(aufwaermprime)
</text>

Thus you need to take the index of the prime stimulus, the index of the target stimulus is indeterminate as long as no selection of the prime stimulus has occurred.

<trial aufwaerm>
/ontrialbegin = [values.trialcounter += 1; values.index = text.aufwaermprime.nextindex;
      item.aufwaermtargeti.setitem(toupper(item.aufwaermtargeti.item(values.index)), values.index);]
/ontrialend = [values.prime = text.aufwaermprime.currentitem; values.target = text.aufwaermtarget.currentitem;]
/stimulusframes = [1 = fixation; 30 = maske; 61 = blank, aufwaermprime; 64 = blank, aufwaermtarget]
/validresponse = ("F", "J")
/response = timeout (2500)
/branch = [if(values.trialcounter == values.break_after_x) trial.pause]
</trial>

Edited
7 days ago @ 8:26 AM by Dave
Jens Bölte
Jens Bölte
Guru
Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)

Group: Forum Members
Posts: 78, Visits: 60
Dave - 11/4/2019
jens - 11/4/2019
jens - 11/4/2019
Hello,Thanks a lot for your solution. I tried toupper and .setitem but I failed on setting the proper index. Best wishes Jens

Hello,
I tried out your code and it worked perfectly, however, it does not work in this code. I miss the difference.

<text aufwaermtarget>
/items = aufwaermtargeti
/select = current(aufwaermprime)
</text>

<item aufwaermtargeti>
/161 = "Krimte"
/162 = "Heizung"
/163 = "Klimer"
/164 = "Wunde"
/165 = "Kohle"
/166 = "Farnseber"
/167 = "Tobel"
/168 = "Husten"
</item>

<text aufwaermprime>
/items = aufwaermprimes.items
/select = noreplace
</text>

<item aufwaermprimes.items>
/161 = "Kapuzenpullover"
/162 = "Gedankenkontrolle"
/163 = "Tapetenkleber"
/164 = "Schnittwunde"
/165 = "Abflussreiniger"
/166 = "Röhrenfernseher"
/167 = "Raucherhusten"
/168 = "Bürgerwehr"
</item>

<trial aufwaerm>
/ontrialbegin = [values.trialcounter += 1; values.index = text.aufwaermtarget.nextindex;
      item.aufwaermtargeti.setitem(toupper(item.aufwaermtargeti.item(values.index)), values.index);]
/ontrialend = [values.prime = text.aufwaermprime.currentitem; values.target = text.aufwaermtarget.currentitem;]
/stimulusframes = [1 = fixation; 30 = maske; 61 = blank, aufwaermprime; 64 = blank, aufwaermtarget]
/validresponse = ("F", "J")
/response = timeout (2500)
/branch = [if(values.trialcounter == values.break_after_x) trial.pause]
</trial>

(1) Please, in the future, provide code that is complete as to be runnable.
(2) The selection of the target item in your code is dependent on the selection of the prime item.

<text aufwaermtarget>
/items = aufwaermtargeti
/select = current(aufwaermprime)
</text>

Thus you need to take the index of the prime stimulus, the index of the target stimulus is indeterminate as long as no selection of the prime stimulus has occurred.

<trial aufwaerm>
/ontrialbegin = [values.trialcounter += 1; values.index = text.aufwaermprime.nextindex;
      item.aufwaermtargeti.setitem(toupper(item.aufwaermtargeti.item(values.index)), values.index);]
/ontrialend = [values.prime = text.aufwaermprime.currentitem; values.target = text.aufwaermtarget.currentitem;]
/stimulusframes = [1 = fixation; 30 = maske; 61 = blank, aufwaermprime; 64 = blank, aufwaermtarget]
/validresponse = ("F", "J")
/response = timeout (2500)
/branch = [if(values.trialcounter == values.break_after_x) trial.pause]
</trial>

Hello Dave,

okay, next time more code. Thanks a lot for pointing me to the wrong index.

Best wishes Jens



GO


Reading This Topic


Login
Existing Account
Email Address:


Password:


Social Logins

Select a Forum....






Millisecond Forums


Search