<div dir="ltr">Hello Everyone, <div><br></div><div>I received incredibly helpful answers for my previous question that I posted here, so I thought I would seek your valuable input on a second part of a stop signal task I have encountered some difficultly building. One of the defining parts of a stop signal task is having a variable ISI before the presentation of a stop signal. I would like to write a script that tells E-prime to make the ISI=250 ms for all go trials. For stop trials, the ISI for the first stop signal would be 250 ms, but the ISI for all future stop signals would be dependent on previous performance on stop trials. If the participant was successful at inhibiting pressing the button on the previous stop trial and their percent correct (accuracy on stop trials) is greater that 30% then the program would increase the previous trials stop signal delay (the ISI) for the next stop signal by 50 ms. If the participant was successful in inhibiting in pressing the button on the previous stop trial and their percent correct is less than 30% then the program would keep the stop signal delay for the next trial the same as it was in the previous trial. If the participant was not successful in inhibiting their button pressing on the previous stop trial and their percent correct is greater then 30% the program will keep the stop signal delay (ISI) equal to the ISI in the previous stop trial. If the participant was not successful in inhibiting their button pressing on the previous stop trial and their percent correct is less than 30% then the program would subtract 50 ms from the ISI of the previous stop signal trial. </div><div><br></div><div>stop signal delay and ISI are used interchangeably, but they mean the same thing. </div><div><br></div><div>To begin, in the experiment object properties, I made initDelay(initial delay)= 250. I also set DurationChange=50. </div><div><br></div><div>In the script I wrote: </div><div><br></div><div><div>Dim nDelay As Double 'actual delay for each trial</div><div><br></div><div>Dim min, max, nerr, ncor, ff, ncc As Integer</div><div>Dim pctcor, pcterr, pct, fpct, cpct As Single</div><div>Dim ferr As String</div><div>Dim pp As Single</div><div><br></div><div>'set guidelines for what to present when the person was correct too often and you want to increase the delay</div><div>Sub SetSlowState(c As nDelay)</div><div>   nDelay = nDelay + CDbl(c.GetAttrib("DurationChange"))</div><div>   c.SetAttrib "ISIduration", c.GetAttrib("nDelay")</div><div>End Sub</div><div>Sub SetFastState (c As nDelay)</div><div>   nDelay = nDelay - CDbl(c.GetAttrib("DurationChange"))</div><div>   c.SetAttrib "ISIduration", c.GetAttrib("nDelay")</div></div><div><br></div><div><br></div><div><div>Dim Delay As Integer</div><div>If fileexists(c.GetAttrib("Subject") & "-ISI.txt") Then</div><div>   Open c.GetAttrib("Subject") & "-ISI.txt" For Input As #1</div><div>   Input #1, Delay</div><div>   Close #1</div><div>   nDelay = CDbl(Delay)</div><div>Else</div><div>   nDelay = CDbl(c.GetAttrib(initDelay))</div><div>End If</div><div><br></div><div>'I'm still confused how to set variable ISI in a text file that changes </div><div><br></div><div>nerr=0 'num forced errors </div><div>ncor=0 ' num correct</div><div>pcterr=0.0 ' percent error</div><div>ncc=0 ' num correct??</div></div><div><br></div><div><br></div><div><div>'ISI.duration= nDelay If c.GetAtrib("TrialType")="go" </div><div><br></div><div><br></div><div>If c.GetAttrib ("TrialType")="stop" Then</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>If (pctcor>.30) Then </div><div><span class="Apple-tab-span" style="white-space:pre">                </span>SetSlowState c,nDelay</div><div><span class="Apple-tab-span" style="white-space:pre">        </span> <span class="Apple-tab-span" style="white-space:pre">   </span>'this routine should increase the ITI making it harder</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>If (pctcor<.30) Then </div><div><span class="Apple-tab-span" style="white-space:pre">                </span>SetFastState c,nDelay</div><div><span class="Apple-tab-span" style="white-space:pre">        </span> <span class="Apple-tab-span" style="white-space:pre">   </span>'this routine should decrease the ITI making it easier</div><div><span class="Apple-tab-span" style="white-space:pre">               </span></div><div>If c.GetAttrib ("TrialType")="stop" And If (pctcor<.30) Then ISI.duration= x - 50 </div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">       </span></div><div><span class="Apple-tab-span" style="white-space:pre">             </span></div><div>ISI.duration = 250 If c.GetAtrib("TrialType")="go" </div><div>Then If c.GetAttrib ("TrialType")="stop" </div><div>Then ISI.duration = If c.GetAttrib("CorrectAnswer")= "" And </div><div>If (pctcor>.30) </div><div><span class="Apple-tab-span" style="white-space:pre">      </span>     debug.Print "Forced Error"</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>     nerr = nerr + 1' Forced Errors</div><div> Then ISI.duration= 'previous  stoptrial ISI + 50 </div><div>If c.GetAttrib("CorrectAnswer")="" And If (pctcor<.30) Then ISI.duration= 'previous stop trial ISI - 50. </div><div><br></div><div>'i'm trying to set it up so that the isi for the first stop trial is equal to 250ms but increases by 50ms if pctcor>.30 but decreases by 50 ms if pctcor<.30. </div><div><span class="Apple-tab-span" style="white-space:pre">   </span>I'm assuming it is some sort of if then statement structured something like what I wrote below. </div><div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">     </span></div><div>Then ISI.duration = 250 Else ISI.duration = 250+50 </div></div><div><br></div><div><br></div><div>The script above is what I came up with my professor, but I'm not sure the script is accomplishing exactly what it is meant to by tracking the stop signal ISI on all trials and either adding to that ISI or subtracting 50 ms from that ISI for the following trial depending on the participants stop trial accuracy percentage. I know that some of the above script is writing the same thing in multiple ways, but I figured it would be helpful to post everything that I have come up with so far. The script is basically a jumble of things we think might potentially work to write the program in the way we want it to run, but I would certainly appreciate any input. Hopefully this all makes sense. Perhaps there is an easier way to keep track of the ISI on all stop trials and program the variable ISI that I have not previously considered? </div><div><br></div><div>Thanks for any help in advance. </div><div>-Kelsey </div><div><br></div></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups "E-Prime" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:e-prime+unsubscribe@googlegroups.com">e-prime+unsubscribe@googlegroups.com</a>.<br />
To post to this group, send email to <a href="mailto:e-prime@googlegroups.com">e-prime@googlegroups.com</a>.<br />
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/e-prime/bd478347-111a-4ddd-94e6-ab3b648637d7%40googlegroups.com?utm_medium=email&utm_source=footer">https://groups.google.com/d/msgid/e-prime/bd478347-111a-4ddd-94e6-ab3b648637d7%40googlegroups.com</a>.<br />
For more options, visit <a href="https://groups.google.com/d/optout">https://groups.google.com/d/optout</a>.<br />