Post by mca on Mar 10, 2021 15:32:37 GMT
Hi everyone!
I am hoping to use a blocked design in a lexical decision task, with 5 categories of words (neutral, happy, anger, fear, disgust) and an equal number of nonwords. We want to block by word category, so there are 5 blocks. We are testing out blockorder to randomly select different orders, so that presentation of word categories is counterbalanced for participants. However, we also want nonwords randomly intermixed in each block and across blocks without repeating, so participants aren't seeing a string of words in a row and making very easy "word" decisions.
We are trying to avoid pseudo-randomizing by assigning nonwords to category lists, because then they would only ever be presented in that particular block. If possible, we want nonwords to be presented truly randomly, so we separated nonwords into their own table.
As it is, our code appears to be presenting word categories the way we want, which is blocked, and with word trials randomly presented within their respective blocks. We were also able to intermix nonwords by using arrays, and are currently using a randomized ‘coin flip’ variable in each task to randomly choose between words and nonwords trials (though if there's a better way to do this, all ears)! Our problem is that in our output, we are not able to collect RT or STATUS information on those nonword trials, presumably because they are part of an array. Furthermore, the nonwords are all presented back to back in output due to blockorder, not intermixed as they are presented to participants.
Q: Is it possible to save out RT and STATUS data from an array? We would like RT and STATUS data from all trials, word and nonword alike.
Our code is below, (notes in red):
options
startbutton text Click to begin
loading text Loading Experiment...
bitmaps
newinstructions1_revise1_1
newinstructions1_revise1_2
newInstructions1_REVISE1_3
newInstructions1_REVISE1_4
newInstructions1_REVISE1_5
fixpoint2
intermission1_6
fonts
arial 24
table words_neutral
"TIME" "word" 1 "NEUTRAL" 1
"RATTLE" "word" 1 "NEUTRAL" 1
"STOMACH" "word" 1 "NEUTRAL" 1
"ITEM" "word" 1 "NEUTRAL" 1
table words_happy
"SILK" "word" 1 "HAPPINESS" 2
"PASSION" "word" 1 "HAPPINESS" 2
"PASTA" "word" 1 "HAPPINESS" 2
"CUISINE" "word" 1 "HAPPINESS" 2
table words_anger
"HOSTILE" "word" 1 "ANGER" 3
"NUISANCE" "word" 1 "ANGER" 3
"INSULT" "word" 1 "ANGER" 3
"TRAITOR" "word" 1 "ANGER" 3
table words_fear
"HORROR" "word" 1 "FEAR" 4
"CYCLONE" "word" 1 "FEAR" 4
"PYTHON" "word" 1 "FEAR" 4
"DENTIST" "word" 1 "FEAR" 4
table words_disgust
"PERVERT" "word" 1 "DISGUST" 5
"FUNGUS" "word" 1 "DISGUST" 5
"DIRT" "word" 1 "DISGUST" 5
"MANURE" "word" 1 "DISGUST" 5
table nonwords
"MARGLE" "nonword" 2 "none" 0
"FAGHT" "nonword" 2 "none" 0
"SPFERE" "nonword" 2 "none" 0
"HEROIX" "nonword" 2 "none" 0
"FUT" "nonword" 2 "none" 0
"HAZ" "nonword" 2 "none" 0
"VURN" "nonword" 2 "none" 0
"FEVEN" "nonword" 2 "none" 0
"ENGENE" "nonword" 2 "none" 0
"DOBT" "nonword" 2 "none" 0
"PLECK" "nonword" 2 "none" 0
"MISTOL" "nonword" 2 "none" 0
"DUMAGE" "nonword" 2 "none" 0
"INHANE" "nonword" 2 "none" 0
"TRANK" "nonword" 2 "none" 0
"BULLUT" "nonword" 2 "none" 0
"LEGROSY" "nonword" 2 "none" 0
"DUSBPAX" "nonword" 2 "none" 0
"LOSUR" "nonword" 2 "none" 0
"TABLY" "nonword" 2 "none" 0
table demoWords
"PAPER" "word" 1 "none" "-1"
"JIOL" "nonword" 2 "none" "-1"
"YECV" "nonword" 2 "none" "-1"
"MINT" "word" 1 "none" "-1"
"GEFB" "nonword" 2 "none" "-1"
"FLOOR" "word" 1 "none" "-1"
"VANILLA" "word" 1 "none" "-1"
"TEST" "word" 1 "none" "-1"
"GOLKS" "nonword" 2 "none" "-1"
task prepare_array
table nonwords
set &&nonwords append @1
set &&nonwords shuffle
save BLOCKORDER BLOCKNAME TABLEROW @1 @2 @3 @4 @5 ## Here we are able to save column info, etc. but not RT or STATUS for nonwords
task lexical1
table words_neutral
keys a l
show background 255 255 255
show bitmap fixpoint2
delay 500
clear 2
draw off
set $x random from 1 2
if $x == 1
show text @1 0 0 0 0 0
fi
if $x == 2
set $nonwords &&nonwords remove first
show text $nonwords 0 0 0 0 0
fi
draw on
delay 500
clear 3
show bitmap fixpoint2
readkey @3 999999
clear -1
save BLOCKORDER BLOCKNAME TABLEROW @1 @2 @3 @4 @5 RT STATUS
task lexical2
table words_happy
keys a l
show background 255 255 255
show bitmap fixpoint2
delay 500
clear 2
draw off
set $x random from 1 2
if $x == 1
show text @1 0 0 0 0 0
fi
if $x == 2
set $nonwords &&nonwords remove first
show text $nonwords 0 0 0 0 0
fi
draw on
delay 500
clear 3
show bitmap fixpoint2
readkey @3 999999
clear -1
save BLOCKORDER BLOCKNAME TABLEROW @1 @2 @3 @4 @5 RT STATUS
task lexical3
table words_anger
keys a l
show background 255 255 255
show bitmap fixpoint2
delay 500
clear 2
draw off
set $x random from 1 2
if $x == 1
show text @1 0 0 0 0 0
fi
if $x == 2
set $nonwords &&nonwords remove first
show text $nonwords 0 0 0 0 0
fi
draw on
delay 500
clear 3
show bitmap fixpoint2
readkey @3 999999
clear -1
save BLOCKORDER BLOCKNAME TABLEROW @1 @2 @3 @4 @5 RT STATUS
task lexical4
table words_fear
keys a l
show background 255 255 255
show bitmap fixpoint2
delay 500
clear 2
draw off
set $x random from 1 2
if $x == 1
show text @1 0 0 0 0 0
fi
if $x == 2
set $nonwords &&nonwords remove first
show text $nonwords 0 0 0 0 0
fi
draw on
delay 500
clear 3
show bitmap fixpoint2
readkey @3 999999
clear -1
save BLOCKORDER BLOCKNAME TABLEROW @1 @2 @3 @4 @5 RT STATUS
task lexical5
table words_disgust
keys a l
show background 255 255 255
show bitmap fixpoint2
delay 500
clear 2
draw off
set $x random from 1 2
if $x == 1
show text @1 0 0 0 0 0
fi
if $x == 2
set $nonwords &&nonwords remove first
show text $nonwords 0 0 0 0 0
fi
draw on
delay 500
clear 3
show bitmap fixpoint2
readkey @3 999999
clear -1
save BLOCKORDER BLOCKNAME TABLEROW @1 @2 @3 @4 @5 RT STATUS
task demoLexical
table demoWords
keys a l
show background 255 255 255
show bitmap fixpoint2
delay 500
clear 2
draw off
show text @1 0 0 0 0 0
draw on
delay 500
clear 3
show bitmap fixpoint2
readkey @3 999999
clear -1
save BLOCKNAME TABLEROW @1 @2 @3 @4 @5 RT STATUS
## Testing blockorder below to randomly pick among two possible orders
blockorder
instructions_round1
demo
instructions_round2
arrays
neutral
happy
anger
fear
disgust
blockorder
instructions_round1
demo
instructions_round2
arrays
disgust
fear
anger
happy
neutral
block instructions_round1
message newinstructions1_revise1_1
message newinstructions1_revise1_2
message newInstructions1_REVISE1_3
message newInstructions1_REVISE1_4
message newInstructions1_REVISE1_5
end
block demo
tasklist
demoLexical 9 all_before_repeat
end
block instructions_round2
message intermission1_6
end
block arrays
tasklist
prepare_array 20 all_before_repeat
end
block neutral
tasklist
lexical1 4 all_before_repeat
end
block happy
tasklist
lexical2 4 all_before_repeat
end
block anger
tasklist
lexical3 4 all_before_repeat
end
block fear
tasklist
lexical4 4 all_before_repeat
end
block disgust
tasklist
lexical5 4 all_before_repeat
end
I am hoping to use a blocked design in a lexical decision task, with 5 categories of words (neutral, happy, anger, fear, disgust) and an equal number of nonwords. We want to block by word category, so there are 5 blocks. We are testing out blockorder to randomly select different orders, so that presentation of word categories is counterbalanced for participants. However, we also want nonwords randomly intermixed in each block and across blocks without repeating, so participants aren't seeing a string of words in a row and making very easy "word" decisions.
We are trying to avoid pseudo-randomizing by assigning nonwords to category lists, because then they would only ever be presented in that particular block. If possible, we want nonwords to be presented truly randomly, so we separated nonwords into their own table.
As it is, our code appears to be presenting word categories the way we want, which is blocked, and with word trials randomly presented within their respective blocks. We were also able to intermix nonwords by using arrays, and are currently using a randomized ‘coin flip’ variable in each task to randomly choose between words and nonwords trials (though if there's a better way to do this, all ears)! Our problem is that in our output, we are not able to collect RT or STATUS information on those nonword trials, presumably because they are part of an array. Furthermore, the nonwords are all presented back to back in output due to blockorder, not intermixed as they are presented to participants.
Q: Is it possible to save out RT and STATUS data from an array? We would like RT and STATUS data from all trials, word and nonword alike.
Our code is below, (notes in red):
options
startbutton text Click to begin
loading text Loading Experiment...
bitmaps
newinstructions1_revise1_1
newinstructions1_revise1_2
newInstructions1_REVISE1_3
newInstructions1_REVISE1_4
newInstructions1_REVISE1_5
fixpoint2
intermission1_6
fonts
arial 24
table words_neutral
"TIME" "word" 1 "NEUTRAL" 1
"RATTLE" "word" 1 "NEUTRAL" 1
"STOMACH" "word" 1 "NEUTRAL" 1
"ITEM" "word" 1 "NEUTRAL" 1
table words_happy
"SILK" "word" 1 "HAPPINESS" 2
"PASSION" "word" 1 "HAPPINESS" 2
"PASTA" "word" 1 "HAPPINESS" 2
"CUISINE" "word" 1 "HAPPINESS" 2
table words_anger
"HOSTILE" "word" 1 "ANGER" 3
"NUISANCE" "word" 1 "ANGER" 3
"INSULT" "word" 1 "ANGER" 3
"TRAITOR" "word" 1 "ANGER" 3
table words_fear
"HORROR" "word" 1 "FEAR" 4
"CYCLONE" "word" 1 "FEAR" 4
"PYTHON" "word" 1 "FEAR" 4
"DENTIST" "word" 1 "FEAR" 4
table words_disgust
"PERVERT" "word" 1 "DISGUST" 5
"FUNGUS" "word" 1 "DISGUST" 5
"DIRT" "word" 1 "DISGUST" 5
"MANURE" "word" 1 "DISGUST" 5
table nonwords
"MARGLE" "nonword" 2 "none" 0
"FAGHT" "nonword" 2 "none" 0
"SPFERE" "nonword" 2 "none" 0
"HEROIX" "nonword" 2 "none" 0
"FUT" "nonword" 2 "none" 0
"HAZ" "nonword" 2 "none" 0
"VURN" "nonword" 2 "none" 0
"FEVEN" "nonword" 2 "none" 0
"ENGENE" "nonword" 2 "none" 0
"DOBT" "nonword" 2 "none" 0
"PLECK" "nonword" 2 "none" 0
"MISTOL" "nonword" 2 "none" 0
"DUMAGE" "nonword" 2 "none" 0
"INHANE" "nonword" 2 "none" 0
"TRANK" "nonword" 2 "none" 0
"BULLUT" "nonword" 2 "none" 0
"LEGROSY" "nonword" 2 "none" 0
"DUSBPAX" "nonword" 2 "none" 0
"LOSUR" "nonword" 2 "none" 0
"TABLY" "nonword" 2 "none" 0
table demoWords
"PAPER" "word" 1 "none" "-1"
"JIOL" "nonword" 2 "none" "-1"
"YECV" "nonword" 2 "none" "-1"
"MINT" "word" 1 "none" "-1"
"GEFB" "nonword" 2 "none" "-1"
"FLOOR" "word" 1 "none" "-1"
"VANILLA" "word" 1 "none" "-1"
"TEST" "word" 1 "none" "-1"
"GOLKS" "nonword" 2 "none" "-1"
task prepare_array
table nonwords
set &&nonwords append @1
set &&nonwords shuffle
save BLOCKORDER BLOCKNAME TABLEROW @1 @2 @3 @4 @5 ## Here we are able to save column info, etc. but not RT or STATUS for nonwords
task lexical1
table words_neutral
keys a l
show background 255 255 255
show bitmap fixpoint2
delay 500
clear 2
draw off
set $x random from 1 2
if $x == 1
show text @1 0 0 0 0 0
fi
if $x == 2
set $nonwords &&nonwords remove first
show text $nonwords 0 0 0 0 0
fi
draw on
delay 500
clear 3
show bitmap fixpoint2
readkey @3 999999
clear -1
save BLOCKORDER BLOCKNAME TABLEROW @1 @2 @3 @4 @5 RT STATUS
task lexical2
table words_happy
keys a l
show background 255 255 255
show bitmap fixpoint2
delay 500
clear 2
draw off
set $x random from 1 2
if $x == 1
show text @1 0 0 0 0 0
fi
if $x == 2
set $nonwords &&nonwords remove first
show text $nonwords 0 0 0 0 0
fi
draw on
delay 500
clear 3
show bitmap fixpoint2
readkey @3 999999
clear -1
save BLOCKORDER BLOCKNAME TABLEROW @1 @2 @3 @4 @5 RT STATUS
task lexical3
table words_anger
keys a l
show background 255 255 255
show bitmap fixpoint2
delay 500
clear 2
draw off
set $x random from 1 2
if $x == 1
show text @1 0 0 0 0 0
fi
if $x == 2
set $nonwords &&nonwords remove first
show text $nonwords 0 0 0 0 0
fi
draw on
delay 500
clear 3
show bitmap fixpoint2
readkey @3 999999
clear -1
save BLOCKORDER BLOCKNAME TABLEROW @1 @2 @3 @4 @5 RT STATUS
task lexical4
table words_fear
keys a l
show background 255 255 255
show bitmap fixpoint2
delay 500
clear 2
draw off
set $x random from 1 2
if $x == 1
show text @1 0 0 0 0 0
fi
if $x == 2
set $nonwords &&nonwords remove first
show text $nonwords 0 0 0 0 0
fi
draw on
delay 500
clear 3
show bitmap fixpoint2
readkey @3 999999
clear -1
save BLOCKORDER BLOCKNAME TABLEROW @1 @2 @3 @4 @5 RT STATUS
task lexical5
table words_disgust
keys a l
show background 255 255 255
show bitmap fixpoint2
delay 500
clear 2
draw off
set $x random from 1 2
if $x == 1
show text @1 0 0 0 0 0
fi
if $x == 2
set $nonwords &&nonwords remove first
show text $nonwords 0 0 0 0 0
fi
draw on
delay 500
clear 3
show bitmap fixpoint2
readkey @3 999999
clear -1
save BLOCKORDER BLOCKNAME TABLEROW @1 @2 @3 @4 @5 RT STATUS
task demoLexical
table demoWords
keys a l
show background 255 255 255
show bitmap fixpoint2
delay 500
clear 2
draw off
show text @1 0 0 0 0 0
draw on
delay 500
clear 3
show bitmap fixpoint2
readkey @3 999999
clear -1
save BLOCKNAME TABLEROW @1 @2 @3 @4 @5 RT STATUS
## Testing blockorder below to randomly pick among two possible orders
blockorder
instructions_round1
demo
instructions_round2
arrays
neutral
happy
anger
fear
disgust
blockorder
instructions_round1
demo
instructions_round2
arrays
disgust
fear
anger
happy
neutral
block instructions_round1
message newinstructions1_revise1_1
message newinstructions1_revise1_2
message newInstructions1_REVISE1_3
message newInstructions1_REVISE1_4
message newInstructions1_REVISE1_5
end
block demo
tasklist
demoLexical 9 all_before_repeat
end
block instructions_round2
message intermission1_6
end
block arrays
tasklist
prepare_array 20 all_before_repeat
end
block neutral
tasklist
lexical1 4 all_before_repeat
end
block happy
tasklist
lexical2 4 all_before_repeat
end
block anger
tasklist
lexical3 4 all_before_repeat
end
block fear
tasklist
lexical4 4 all_before_repeat
end
block disgust
tasklist
lexical5 4 all_before_repeat
end