Storing responses

103 views
Skip to first unread message

T.S.

unread,
May 25, 2012, 5:21:14 AM5/25/12
to E-Prime
As you will notice in the following I am not really experienced with E-
Prime. I have a Paradigma, which presents in the learning phase 120
pairs of vocabulary, for 2 rounds. After the learning phase there will
be a test-phase. And now we come to the point where I am stuck right
at the moment. After the test phase there should be another learning-
phase, were only 30 before remembered and 30 before not remembered
words should be presented (so I would like to present stimuli
contingent on the test-phase responses) . As I worked through the User
Guide and the forum I had to realize that there is no way that E-Prime
keeps a record of the past but that there should be a solution via
global variables to store responses in an array for later use. As I
said before I am no E-Prime pro-user and the Using "E-Basic" chapter
did not help me to get this done.
Maybe one of you could give me some advice concerning global variables
and the storing of responses.

Thomas

Anne-Wil

unread,
May 26, 2012, 10:06:56 AM5/26/12
to e-p...@googlegroups.com

How about something like this....


Following the first two phases create a list for the learningphase called.. relearningphaselist (or something the like) that has two levels. Set the weight for both levels on 30 and set the list to random order. Now into these two levels nest two lists called phase1rememberedlist and phase1notrememberedlist (again... or something the like). Give them 1 attribute called stimulus (or whatever name you like to store your stimuluswords in) and leave them empty and single-leveled.

On the user tab of script window create two variables that will keep track of the number of items that were remembered and not remembered:

***
dim nremembered as integer
dim nnotremembered as integer

****

Now following the slide in which it is determined whether someone did or did not remember, add an inline that will write that current trials' value of "stimulus" (or whatever name you use for the attribute that holds your stimuluswords) to either of the two lists based on correct response to that slide (which I suppose is what you want).

****
If testslide.acc = 1 Then

nremembered = nremembered + 1

phase1rememberedlist.AddLevel 

phase1rememberedlist.SetWeight nremembered, "1"

phase1rememberedlist.SetProc nremembered, "trialproc"

phase1rememberedlist.SetAttrib nremembered, "stimulus", c.getattrib "stimulus"

End If


If testslide.acc = 0 Then

nnotremembered = nnotremembered + 1

phase1notrememberedlist.AddLevel 

phase1notrememberedlist.SetWeight nnotremembered, "1"

phase1notrememberedlist.SetProc nnotremembered, "trialproc"

phase1notrememberedlist.SetAttrib nnotremembered, "stimulus", c.getattrib "stimulus"

End If

*****

What I think the above script will do is add a level to either one of the two lists and set all the values that need to be set. The count variables (nremembered and nnonremembered) tell the script which level of the lists are being altered and this is dependent on the number of correctly or incorrectly remembered items.

Now only one thing is still needed before the start of phase three (that uses the newly created lists). These should be 'reimplemented' which is done by the following code that tells e-prime the amount of levels (nremembered/nnotremembered) and that these form a single cycle. At the reset command e-prime will reload the new lists (rather than using the empty lists that it generated when the run was initiated).  Put this code in an inline inbetween the testphaselist and the relearningphaselist on the procedure that holds both lists (presumably sessionproc).

****
Set phase1rememberedlist.TerminateCondition = Cycles(1)

Set phase1rememberedlist.ResetCondition = Samples(nremembered)

phase1rememberedlist.Reset


Set phase1notrememberedlist.TerminateCondition = Cycles(1)

Set phase1notrememberedlist.ResetCondition = Samples(nnotremembered)

phase1notrememberedlist.Reset
****


I dare not make much promises, I based this code from other posts on similar problems (mainly Gilis code here: https://groups.google.com/forum/?fromgroups#!topic/e-prime/elFvbnRAA7I ) and I can't test it from were I am now, but I think the above should work or almost (and that's often the tricky part >.<) work.

Please let me know,


Anne-Wil
Reply all
Reply to author
Forward
0 new messages